聚类算法

1.K-means

k-means——非监督学习中的聚类算法

(1)设定一个初始值k,在数据点中选择k个点作为质心(即为聚类中心),这里的k即为我们希望的将数据点经过聚类得到的k个分组。

(2)计算数据点中的其他点到质心(Centroid)的距离,距离谁近就选谁。(这样下来就完成了第一次的聚类)

(3)根据上一次的聚类结果,通过算法选出新的质心(计算每组中数据点的x和y的均值,得到了一个“虚拟”的质心)

(4)再次计算各数据点到新的质心之间的距离,进行聚类,直到分组结果和上一次的分组结果完全一致或者相同即为聚类成功。

如果新的质心和原先的质心之间的距离小于某一个设定的阈值,就意味着新的质心的位置变化不大,趋于稳定也可以说是收敛了,那么聚类达到期望的结果,算法终止,否则重复3-4,直到分组结果和上一次的一致。

参考博客:https://blog.****.net/sinat_36710456/article/details/88019323

具体流程

聚类算法

该图来自于:https://www.cnblogs.com/en-heng/p/5173704.html

缺点

局部最优,聚类结果容易受到初始质心的影响;也会受到K值选取的影响。