文章大纲
简介
Kmeans算法是个具有较强实用性的聚类算法,处理大数据集有较高的效率且具有可伸缩性。尤其适合接近线性时间复杂度的大规模数据集。K值的选取、初始聚类中心和初始划分对聚类结果有较大的影响,聚类结果的好坏可以用肘部法和轮廓分析法来评价,优化初始聚类中心店和改进距离量度方法可以提高结果的准确性。
与有监督学习不同的是,聚类分析没有一个可靠的评价指标,可以用来评价不同聚类算法的结果。此外,由于k m e a n s需要k作为输入,而不是从数据中学习,所以在任何问题中,对于集群的数量都没有绝对正确的答案。
局限性及其改进方向
k-means算法需要解决的问题和可能的改进方法如下:
(一)初始聚类中心的选择是随机的
为了优化初始聚类中心,首先随机选择首个初始聚类中心点,接着选取距离该点最远的那个点作为第二个初始聚类中心点,然后选取距离前两个点的最近距离最大的点作为第三个初始聚类中心点,直至选出K个初始类簇中心点。
(二)如果簇的形状是球形的,Kmeans算法可以很好地捕捉数据的结构。它总是试图围绕质心构造一个漂亮的球形。这意味着,一旦集群具有复杂的几何形状,kmeans就不能很好地对数据进行聚类。造成这种局限性的主要原因在于选取距离度量的方法。文献[5]中阐述了基于两种距离度量的改进方法