软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 互联网 -> Stanford机器学习 -> 正文阅读

[互联网]Stanford机器学习


本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。内容大多来自Standford公开课machine learning中Andrew老师的讲解和其他书籍的借鉴。(https://class.coursera.org/ml/class/index


PS: 前一段时间因为去北京参加一个summer school就没有来得及写blog,让大家久等了……今天我们来讲讲Machine Learning中的聚类问题。:-)

第九讲. 聚类——Clustering


===============================
(一)、什么是无监督学习?
(二)、KMeans聚类算法
(三)、Cluster问题的(distortion)cost function

(四)、如何选择初始化时的类中心
(五)、聚类个数的选择




=====================================
(一)、什么是无监督学习

之前的几章我们只涉及到有监督学习,本章中,我们通过讨论另一种Machine learning方式:无监督学习。首先呢,我们来看一下有监督学习与无监督学习的区别。
给定一组数据(input,target)为Z=(X,Y)。

有监督学习:最常见的是regression & classification。
  • regression:Y是实数vector。回归问题,就是拟合(X,Y)的一条曲线,使得下式cost function L最小。

[img]http://my.csdn.net/uploads/201208/03/1343977609_3572.png
  • classification:Y是一个finite number,可以看做类标号。分类问题需要首先给定有label的数据训练分类器,故属于有监督学习过程。分类问题中,cost function L(X,Y)是X属于类Y的概率的负对数。

[img]http://www.iro.umontreal.ca/~pift6266/H10/notes/_images/math/f458b0f65eb24e4d0f03630d0c18e607a61b0603.png,其中fi(X)=P(Y=i | X);

[img]http://www.iro.umontreal.ca/~pift6266/H10/notes/_images/math/ab2c31dc00245ab18699df4af7ecfab088ef692e.png


无监督学习:无监督学习的目的是学习一个function f,使它可以描述给定数据的位置分布P(Z)。 包括两种:density estimation & clustering.
  • density estimation就是密度估计,估计该数据在任意位置的分布密度
  • clustering就是聚类,将Z聚集几类(如K-Means),或者给出一个样本属于每一类的概率。由于不需要事先根据训练数据去train聚类器,故属于无监督学习。
  • PCA和很多deep learning算法都属于无监督学习。

好了,大家理解了吧,unsupervised learning也就是不带类标号的机器学习
练习:
[img]http://my.csdn.net/uploads/201208/28/1346124145_8911.png

=====================================
(二)、K-Means聚类算法
KMeans是聚类算法的一种,先来直观的看一下该算法是怎样聚类的。给定一组数据如下图所示,K-Means算法的聚类流程如图:
[img]http://my.csdn.net/uploads/201208/28/1346124111_1573.png

[img]http://my.csdn.net/uploads/201208/28/1346124192_7340.png

图中显示了Kmeans聚类过程,给定一组输入数据{x(1),x(2),...,x(n)}和预分类数k,算法如下:
[img]http://my.csdn.net/uploads/201208/28/1346124634_2589.png
首先随机指定k个类的中心U1~Uk,然后迭代地更新该centroid。
其中,C(i)表示第i个数据离那个类中心最近,也就是将其判定为属于那个类,然后将这k各类的中心分别更新为所有属于这个类的数据的平均值














=====================================
(三)、Cluster问题的(distortion)cost function
在supervised learning中我们曾讲过cost function,类似的,在K-means算法中同样有cost function,我们有时称其为distortion cost function.
如下图所示,J(C,U)就是我们要minimize的function.
[img]http://my.csdn.net/uploads/201208/28/1346126276_9948.png

即最小化所有数据与其聚类中心的欧氏距离和。
再看上一节中我们讲过的KMeans算法流程,第一步为固定类中心U,优化C的过程:
[img]http://my.csdn.net/uploads/201208/28/1346126973_9067.png

第二步为优化U的过程:
[img]http://my.csdn.net/uploads/201208/28/1346127201_8152.png

这样进行迭代,就可以完成cost function J的优化。
练习:
[img]http://my.csdn.net/uploads/201208/28/1346127230_3594.png



这里大家注意,回归问题中有可能因为学习率设置过大产生随着迭代次数增加,cost function反倒增大的情况。但聚类是不会产生这样的问题的,因为每一次聚类都保证了使J下降,且无学习率做参数。










=====================================
(四)、如何选择初始化时的类中心
在上面的kmeans算法中,我们提到可以用randomly的方法选择类中心,然而有时效果并不是非常好,如下图所示:
[img]http://my.csdn.net/uploads/201208/28/1346128777_4319.png
fig.1. original data
对于上图的这样一组数据,如果我们幸运地初始化类中心如图2,
[img]http://my.csdn.net/uploads/201208/28/1346128944_8102.png

fig.2. lucky initialization
[img]http://my.csdn.net/uploads/201208/28/1346129016_4653.png

fig.3. unfortunate initialization
但如果将数据初始化中心选择如图3中的两种情况,就悲剧了!最后的聚类结果cost function也会比较大。针对这个问题,我们提出的solution是,进行不同initialization(50~1000次),每一种initialization的情况分别进行聚类,最后选取cost function J(C,U)最小的作为聚类结果











=====================================
(五)、聚类个数的选择
How to choose the number of clusters? 这应该是聚类问题中一个头疼的part,比如KMeans算法中K的选择。本节就来解决这个问题。
最著名的一个方法就是elbow-method,做图k-J(cost function)如下:


[img]http://my.csdn.net/uploads/201208/28/1346130117_8284.png

若做出的图如上面左图所示,那么我们就找图中的elbow位置作为k的选定值,如果像右图所示并无明显的elbow点呢,大概就是下图所示的数据分布:
[img]http://my.csdn.net/uploads/201208/28/1346132804_2121.png

这种情况下需要我们根据自己的需求来进行聚类,比如Tshirt的size,可以聚成{L,M,S}三类,也可以分为{XL,L,M,S,XS}5类。需要大家具体情况具体分析了~
练习:
[img]http://my.csdn.net/uploads/201208/28/1346141464_7695.png







==============================================

小结


本章讲述了Machine learning中的又一大分支——无监督学习,其实大家对无监督学习中的clustering问题应该很熟悉了,本章中讲到了几个significant points就是elbow 方法应对聚类个数的选择和聚类中心初始化方法,值得大家投入以后的应用。


......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-03-28 21:47:36  
互联网 最新文章
C++11并发API总结
16.收款(AcceptingMoney)
数据链路层综述
IP协议及IP数据报解析
《浅谈HTTP协议》
计算机网络基础
LoadRunner和RPT之间关于手动关联和参数化的
HTTPS中的对称密钥加密,公开密钥加密,数字
上班需要打卡吗?(开通微信公众号--乘着风
ofbizjmsactivemq
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-17 14:56:51
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --