在普通的K-means算法中,会存在以下的缺点:
1). 只能收敛到局部最优,受到初始值较大;
2). K不确定,需自己确定;
3). 受noise影响较大。
为了改进k-means算法,出现了K-means++,ISODATA和Kernel K-means等方法。
其中K-means++算法是对初始值选择进行了改进。
普通k-means算法的步骤大概如下所示(假设k=3):
普通的K均值算法是随机选取K个点作为聚类的中心,而K-means++按照如下的思想选取K个聚类中心,其基本的思想是,K个初始聚类中心相互之间应该分得越开、离得越远越好(图片来自https://www.cnblogs.com/yixuan-xu/p/6272208.html):