该算法的结果受取定的类数,聚类的初始中心为止影响,在实际中需测探不同的c值以及选择不同的聚类中心初始值以得到较好的结果。如果模式分布呈现类内团聚状,该算法能得到很好的聚类结果。
条件与约定
设待分类的模式的特征矢量为{
},选定类的数目为c。
算法思想
该方法取定 c个类别和选取 c个初始聚类中心,按最小距离原则将各模式分配到 c类中的某一类,之后不断地计算类心和调整各模式的类别,最终使各模式到其判属类别中心的距离平方之和最小。
算法步骤
-
任选c个模式特征矢量作为初始聚类中心
-
将待分类的模式特征矢量集{
}中的模式按最小距离原则划分到c类中
-
重新计算各类类心 ![z_j^{(k)}=\frac{1}{n_j^{(k+1)}}\sum_{x_i\in \omega_j^{(k+1)}}x_i,(j=1,2,...,c)](https://private.codecogs.com/gif.latex?z_j%5E%7B%28k%29%7D%3D%5Cfrac%7B1%7D%7Bn_j%5E%7B%28k+1%29%7D%7D%5Csum_%7Bx_i%5Cin%20%5Comega_j%5E%7B%28k+1%29%7D%7Dx_i%2C%28j%3D1%2C2%2C...%2Cc%29)
-
如果
,则结束;否则返回第二步。