聚类算法是无监督学习算法
k-means算法是一个常用的聚类算法
算法过程
1. 簇分配。随机选择K个点作为聚类中心,遍历每个点,离A近的点算A类,离B近的点算B类,以此类推
2. 移动聚类中心。计算每一类的中心(平均值的点)
3. 重新计算每个点所属的类别。如果聚类中心不变,每个点的类别也不变,那么算法收敛,否则到2。
算法接收的输入
1. K,聚类的数量
2. 训练集
注意:如果对于某个聚类中心,没有点分配给它,那么就直接移除这个聚类中心,减少为K-1类
k-means算法的优化目标
表示第i类,
表示第k类的聚类中心
如何避免局部最优
随机初始化有可能导致局部最优,所以需要尝试多次不同的初始值。
如何选择聚类的数量
肘部法则:不断地改变K值,然后计算cost,因为K越大cost越小,所以找下降最剧烈点的K值
根据实际情况选择