聚类算法
聚类算法是一种典型的无监督学习算法,该算法将样本划分为若干个不相交的簇。聚类结果簇内相似度高,簇间相似度低。常用的相似度计算方法为欧氏距离。
常用的聚类算法有:原型聚类、层次聚类、密度聚类
k-means算法
k-means算法首先随机选取k个质心,计算每个样本和k个质心的相似度(欧氏距离),选择相似度最高的质心所在的簇作为该样本的类别,形成k个簇。然后重新计算每个簇的质心(当前簇每个feature大小的平均值),再次调整每个样本所属类别,直到达到最大迭代次数或调整的幅度小于阈值,算法停止。
由于每次要计算所有样本与每个质心的相似度,故在大规模数据集上,k-means算法的收敛速度比较慢。
k-means算法流程
参考:
https://blog.csdn.net/google19890102/article/details/26149927