Cluster Analysis/聚类分析
昨晚与Andy讨论SLAM算法,Andy说用了KNN,我就问他是KNN还是k聚类,实事是他用的是k聚类。其实我很长一段时间也会弄混掉两者的关系。之前有写过KNN,那么这次写一下聚类分析。
聚类分析是希望对多元数据进行cluster划分,得到簇内同质性高,簇间异质性高的划分。 先从普及度高的k聚类讲起。
-
简单的k聚类是聚类簇数目已知。此时有
- K-均值:将cluster的均值作为参考点
- K-中心点聚类:将cluster中的点作为参考点
k-means
据说精确解的k-聚类是一个NP-hard问题。k-均值聚类是一种易实现的方法。任意选定k个点作为初始参考点,然后计算每个点与参考点的距离,并将该点归为距离最近的参考点,用同一类中点的均值作为新的参考点,继续迭代,直到簇的划分不再变动。缺点:若是有离群点,又若是刚好初始点就有离群点,那么这个时候有可能收敛到局部最优点。