一种基于分布式计算平台改进的k均值聚类方法与流程

文档序号:11952109阅读:来源:国知局

技术特征:

1.一种基于分布式计算平台改进的k均值聚类方法,其特征在于:首先,根据克洛斯卡尔算法对随机选取的k个点求出该点集的最小生成树权值和,重复n次,然后根据这n次的权值和选取出权值和最大并保证该点集的各边的权值相差不大,这样可以保证簇心相对均匀分布,最后使用经谷本距离改进后的k均值算法进行聚类运算,其步骤如下:

1)从样本中随机选取k个数据向量,对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,对选取的k个数据向量,使用克洛斯卡尔算法,求出最小生成树的权值和,重复这个过程n次,记第i次计算得到的最小生成树权值和为di

2)求出最小生成树权值和中的最大值MAX(d1,d2,...,dn)对应的由k个数据向量组成的点集;

3)倘若求出的点集的各边的权值相差不大时,则将该点集作为初始簇中心的k个初始中心,转步骤4);否则排除该点集,转步骤2);

4)然后运行基于分布式计算平台Spark改进后的k均值算法;

运行过程中根据谷本距离公式计算每个数据向量到k个簇中心的距离,根据计算得到的k个距离值,将数据向量放入到距离最小的这个簇心所对应的蔟中,然后通过每个簇中所有数据向量求平均值来更新蔟中心,此时,计算上一次k个蔟中心与更新后对应的蔟中心之间的欧式距离,得到k个欧氏距离值,倘若k个欧氏距离值都小于规定的误差阈值或达到迭代次数时,转步骤5),否则继续迭代;

5)输出聚类结果。

2.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的克洛斯卡尔最小生成树算法,具体描述如下:

克洛斯卡尔算法的基本思想为:选择无向加权连通图G中权值最小,并且不和已经选择的边形成的环的边,并将其添加到边集E中;否则就选择下一条边,知道边集E中有n-1跳变为止(图G中有n个顶点);

在无向加权连通图G=(V,E)中,V={V1,V2,...,Vn}是n个顶点构成的集合,E={e1,e2,...,em}是m条边构成的集合,W={W1,W2,...,Wm}是每条边对应的权值。构造生成树记住T=G{e1,e2,...,en-1};

算法实现步骤:

1)初始化顶点集边集所有边的权值WT=0;

2)将所有的边的权值按照从小到大进行排序,记为E';

3)选择没有在边集E中,权值最小,不和边集E中的边构成环,并且WT+Weij<<Wr+We′ij的边eij(e0是连接顶点i和j的边,Wij是eij的权值,e'ij是么有选择的边中的其它任何一边,W'是边e'ij的权值),将顶点i,j中没有在点集A中的点添加到A中,并将边eij添加到边集E中;否则不选择这条边;

4)重复第3步直到顶点集有n个顶点,边集中有n-1条边;

所述的最小生成树,具体描述如下:

在一个无向加权连通图所有生成树中,各边代价之和最小的那棵生成树称为该连通图的最小生成树。

3.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的k均值算法实现步骤:

1)随机选取k个中心点;

2)计算所有数据向量到k个初始聚类的中心点的距离,将每个数据向量划分到距离最近的中心点所在的簇中;

3)计算每个聚类簇中各点的平均值,并作为新的中心点;

4)重复步骤2),3),直到这k个簇点不再变化或者收敛或者达到所设定的迭代次数。

4.如权利要求3所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,k均值性能指标的误差平方函数H定义为

<mrow> <mi>H</mi> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mi>i</mi> </msub> </munderover> <mo>|</mo> <mo>|</mo> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>m</mi> <mi>i</mi> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中Xij表示第i个类的第j个样本,i=1,2,...,k;j=1,2,...,ni,ni表示第i个类簇中的样本数,mi表示第i个的聚类中心。

5.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的特征的规范化,定义为:

特征的规范化可以通过将每个特征转换为标准得分来完成,对每个特征取平均值,用每个特征减去平均值,然后除以特征的标准差,计算公式如下:

<mrow> <msub> <mi>normalized</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>feature</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>&mu;</mi> <mi>j</mi> </msub> </mrow> <msub> <mi>&sigma;</mi> <mi>j</mi> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中normalizedij表示第i个数据向量的第j个特征的规划化后的值,featureij表示第i个数据向量的第j个特征值,μj表示所有数据向量的第j个特征的平均值,σj表示所有数据向量的第j个特征的标准差。

6.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的聚类簇中心更新的计算公式,定义为:

<mrow> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>m</mi> <mi>i</mi> </msub> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>m</mi> <mi>i</mi> </msub> </munderover> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中i=1,2,...,k,Ki表示第i个聚类蔟中心,Xij为第i簇中第j个样本。

7.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的欧式距离计算公式,定义为

数据向量N=(n1,n2,...,np)和M=(m1,m2,...,mp)之间的距离d(m,n)为

<mrow> <mi>d</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msup> <mi>m</mi> <mn>1</mn> </msup> <mo>-</mo> <msup> <mi>n</mi> <mn>1</mn> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>m</mi> <mn>2</mn> </msup> <mo>-</mo> <msup> <mi>n</mi> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>m</mi> <mi>p</mi> </msup> <mo>-</mo> <msup> <mi>n</mi> <mi>p</mi> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中m1,m2,...,mp是数据向量M的1维至p维数据集,n1,n2,...,np是数据向量N的1维至p维数据集。

8.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的谷本距离,定义为:

两个n维向量(a1,a2,...,an)和(b1,b2,...,bn)之间的谷本距离d,公式为:

<mrow> <mi>d</mi> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msub> <mi>a</mi> <mi>n</mi> </msub> <msub> <mi>b</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mrow> <msqrt> <mrow> <mo>(</mo> <msubsup> <mi>a</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>a</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msubsup> <mi>a</mi> <mi>n</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> </msqrt> <mo>+</mo> <msqrt> <mrow> <mo>(</mo> <msubsup> <mi>b</mi> <mn>1</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>b</mi> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msubsup> <mi>b</mi> <mi>n</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> </msqrt> <mo>-</mo> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msub> <mi>a</mi> <mi>n</mi> </msub> <msub> <mi>b</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1