吴恩达机器学习笔记6-聚类

聚类算法是无监督学习算法

k-means算法是一个常用的聚类算法

算法过程
1. 簇分配。随机选择K个点作为聚类中心,遍历每个点,离A近的点算A类,离B近的点算B类,以此类推
2. 移动聚类中心。计算每一类的中心(平均值的点)
3. 重新计算每个点所属的类别。如果聚类中心不变,每个点的类别也不变,那么算法收敛,否则到2。

算法接收的输入
1. K,聚类的数量
2. 训练集 x 1 , x 2 , . . . , x n

注意:如果对于某个聚类中心,没有点分配给它,那么就直接移除这个聚类中心,减少为K-1类

k-means算法的优化目标
c ( i ) 表示第i类, μ k 表示第k类的聚类中心

J ( c ( 1 ) , . . . , c ( m ) , μ 1 , . . . , μ K ) = 1 m i = 1 m | | x ( i ) μ c ( i ) | | 2

如何避免局部最优

随机初始化有可能导致局部最优,所以需要尝试多次不同的初始值。

如何选择聚类的数量

肘部法则:不断地改变K值,然后计算cost,因为K越大cost越小,所以找下降最剧烈点的K值

根据实际情况选择

猜你喜欢

转载自blog.csdn.net/zic234gh9/article/details/81590384