吴恩达ML课程笔记(Chapter13)

拜拜、爱过 提交于 2020-01-19 01:50:54

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)=1m\frac{1}{m} i=1mxixi\sum_{i=1}^m{xi到xi被分类到的聚类中心点的平方}
我们就是要找到这一套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算法的目的是什么,实际需要多少个类

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!