kmeans聚类详解

今天看了多元统计分析的聚类分析一章,终于算是对聚类分析有点理解了。
Kmeans聚类是最简单的快速聚类方法了,目标就是按照给定的K,将所有样本按照类内尽可能紧凑,类间尽可能松散的原则来组织,得到k个簇。
聚类方法:
(1)从n个数据对象中取k个对象作为初始簇中心;
(2)循环下述流程(3)到(4),直到每个聚类不再发生变化为止。
(3)根据每个簇中对象的均值(中心对象),计算每个对象与这些对象的距离,并根据最小距离重新对相应对象进行划分。
(4)重新计算每个(有变化)簇的均值。
——摘自《多元统计分析及R语言建模》王斌会
但是看这个有个疑问,上述提到的每个聚类不再发生变化为什么就恰好是目标函数最优呢?(平方误差准则)
在阅读了博文:https://blog.csdn.net/taoyanqi8932/article/details/53727841
后有所理解:
kmeans算法中有两个关键的东西,一个是分配函数或者说是距离度量,也就是说每次依据什么来划分;第二个是目标函数,也就是最后要达到的聚类目标是什么,比如kmeans就是类间差异大,类内相似性大。
但是这还是没有解释为什么迭代完成,也就是中心不再变化,就等价于目标函数最优化的问题。
原因如下:来自上述链接的博文
通过对目标函数的分析,我们发现只要令每次迭代过程中都取均值为质心,就相当于在不断的使目标函数优化,这样一来就解释了前面的问题,当聚类中心不再改变时也就是目标函数最优化了。

猜你喜欢

转载自blog.csdn.net/qq_39805362/article/details/84929335