美文网首页
13.无监督学习(unsupervised learning)

13.无监督学习(unsupervised learning)

作者: justinwei | 来源:发表于2019-03-23 10:48 被阅读0次

第八周 - Lecture 13
聚类问题(clustering) / 无监督学习(unsupervised learning)
无标记数据的分类

  1. K-means算法( K-means algorithm)
    输入:
    K:类别的数量
    \{x^{(1)},x^{(2)},...x^{(m)}\} \训练数据集

Randomly initialize K cluster centroid \mu_1,\mu_2,...,\mu_K\in R^n
/ *随机初始化K个分类的中心点\mu_1,\mu_2,...,\mu_K\in R^n */
Repeat {
 for i = 1 to m
\ \ \ \ c^{(i)} := index\ (\ from\ 1\ to\ K\ )\ of\ cluster\ centroid\ closet\ to\ x^{(i)}
  / *c^{(i)}等于x^{(i)} 属于哪个分类 min|| x^{(i)} - u_k||^2 ( x与哪个“聚类中心”最近) */
 for k= 1 to K
   \mu_k := average\ (\ mean\ )\ of\ point\ assigned\ to\ cluster\ k
  / *\mu_k = 新的“聚类中心点” 为第k个聚类所有x值的平均数据,例如:分在第2个聚类有x^{(1)},x^{(5)},x^{(6)},x^{(10)}c^{(1)}=2,c^{(5)}=2,c^{(6)}=2,c^{(10)}=2
\mu_2 = \frac14[x^{(1)}+x^{(5)}+x^{(6)}+x^{(10)}] */
}

优化目标:
J(c^{(1)},...,c^{(m)},\mu_1, ..., \mu_k) = \frac1 m\sum_{i=1}^m||x^{(i)}-\mu_{c^{(i)}}||^2
最小化J(c^{(1)},...,c^{(m)},\mu_1, ..., \mu_k)

  1. 如何始始化\mu_1,\mu_2,...,\mu_K\in R^n
    如果随机从训练集x取出K个值做为分类中心点会导致局部最优,所以建议循环100次,每次都随机取中心点,求出J(c^{(1)},...,c^{(m)},\mu_1, ..., \mu_k),找出最小的代价函数是J值.
    但这个方法也不是总是有效,对于K值为2-10有较好的效果。

编程作业:聚类问题的一个应用,把24位的图像变成4位的图像
3.如何选择聚类的数量K
方法一:Elbow method:
画出K值和代价函数Cost J的曲线,可以找到“肘部”(elbow),如下左图,“肘部”对应的是K=3, 当前K>3 时,增加K值Const J不会下降;但实际上很多情况是找不到“肘部”,如右图

Elbow
方法二:手工选择
例如T-shirt生产商将生产的T-shirt分为S, M,L三类,将所有样本人员的身高、体重进行聚类,这些K值就是3。

相关文章

网友评论

      本文标题:13.无监督学习(unsupervised learning)

      本文链接:https://www.haomeiwen.com/subject/dudjvqtx.html