Lesson13
K:聚类的数量
c(i):样本点x(i)被分到的聚类的索引值
μk:第k个聚类中心的位置
13-2 k-means算法
1.聚类算法:把无标记(non-label)的数据分成一簇一簇的算法
2.k-means算法:我的另一篇博客
3.k-means算法也可以分类那些数据比较集中的数据集,比如像这样:
4.这里需要注意一点,大写K用来表示聚类/簇的数量,小写k用来表示1~K区间里的某一个数
13-3 优化目标
1.优化目标:
ci:第i个点被分类到的聚类的索引
J(c(1),c(2),…c(m),μ1,…,μk)=
我们就是要找到这一套c和μ,使得上述J最小。K-means算法的第一步就是在找这套c,第二步就是找这套μ
13-4 随机初始化
1.首先需要注意,应该使K<m
2.随机选取聚类中心的方法:从样本点中选取聚类中心
3.聚类中心落在了局部最优的两个例子:
4.我们可以重复选取聚类中心+移动聚类中心
这一过程很多次(一般是50~1000),然后从中挑出使代价函数J(它的详细定义见13-3的第一点,代价函数也称为畸变值)最小的一个
5.一般选K=2~10之间时,可以保证我们找到较好的聚类;但是如果K比10大很多很多的话,那多次运行随机初始化的结果可能和第一次运行得到的结果差不多
13-5选取聚类的数量
1.肘部算法(elbow method):
比如下面的这个代价函数和聚类数量的关系曲线,K取3以后畸变值下降的速度就慢了很多,所以K取3就是比较合适的
2.但是其实在实际生活中,得到的可能都是像这样的图线:
这样就没办法很清晰地判断它的拐点
3.所以选择K值的一个比较可靠的方法是人为选择,看自己选择K-means算法的目的是什么,实际需要多少个类
来源:CSDN
作者:肥仔肥仔
链接:https://blog.csdn.net/yuanren201/article/details/103831167