Machine Learning - Andrew Ng 笔记(6)

Unsupervised Learning

本章节进入无监督学习,相比于Supervised Learning处理的Training Set,{(x^1,y^1),(x^2,y^2),...,(x^m,y^m)},Unsupervised Learning需要处理的Training Set是unlabeled{(x^1),(x^2),...,(x^m)},是需要算法主动去将样本分类.

Supervised Learning

Unsupervised Learning

Clustering

K-means Algorithm

K-means算法是无监督学习算法的一种,下图所示,K表示期望将数据分成的类别个数.

input

下面这个例子是使用K-means算法将Training Set分为两类.
Training Set

因为要分成两类,所以随机初始化两个cluster centroids, red/blue
Randomly Initialize 2 cluster centroids

Cluster assignment step
分别计算Training Set与两个cluster centroids之间的距离,距离red最近的将被染成红色,距离blue最近的将被染成蓝色.
Cluster assignment step

Move Centroids
接下来对上图中red/blue的样本分别求均值(means),并作为新的red/blue centroids位置.
Move Centroids

不断重复上述步骤直到cluster centroids位置收敛(converged,不再变化)为止,此时将得到样本最终的分类.
cluster centroids converged

下图是K-means算法的伪代码.
K-means Algorithm

注意
1.求样本和centroids的距离可以使用,该值最小时对应的k即是该样本在此次迭代中的分类
2.,其中n是此次迭代中被分类为k的样本数量,q为此次迭代中被分类为k的所有样本
3.如果发现某一分类中不存在任何样本,一般的做法是删掉这个分类.

Optimization objective

之前学过的监督算法中都有代价函数,我们都需要取优化一个目标,对于k-means算法来说也有代价函数,如下图

terms and optimization objective

是指当前所属的分类.
是指cluster centroids.
是指当前所属的分类对应的cluster centroid.
K-means algorithm

回过头看k-means算法就类似于一个不断迭代求到使得最小的的搭配,之后在带入到求到代价.

Random Initialization

该如何初始化cluster centroids?

Random Initialization

随机选取K个训练样本作为初始的cluster centroids即可.
Stuck in local optima

因为cluster centroids选取的随机性,K-means算法很可能找不到global optima,如上图所示.
Multiple Random Initialization

为了寻找给优的解,我们使用上图所示的Multiple Random Initialization,在得到的所有选择一组使最小的组合即可.
注意:Multiple Random Initialization在K比较小的时候比如<=10时效果显著,如果K非常大比如100,那么这种方法可能不会如预期中的有用,但是无论K大还是小,上文中提到的选取的方法是Prof.推荐的.

Choosing the Number of Clusters

Elbow method

使用Elbow method选择K,但是有时候函数的拐点没有那么明显,所以这种方式一般不推荐.
另一种方式是从需求出发,意思是"主观上你想要将样本分为几类?",比如下图中的服装尺码,从公司角度考量,是希望分3个尺码使得衣服买的更便宜还是分5个尺码让客户有更多的选择.


For later purpose

Dimensionality Reduction

Dimensionality Reduction可以压缩特征(Data Compression),将样本特征种类压缩的好处在于:
1.可以提升算法执行的效率,节省空间/时间
2.可以图形化数据,毕竟如果样本有>=4个特征种类后很难用图形去描绘他们,如果不能用图形化样本那么就没法很好的理解数据,所以我们一般会将特征值种类压缩到2~3,图形化起来更方便.

Reduce from 2D to 1D

Reduce from 3D to 2D

2D->1D就是将样本投影到直线上,3D->2D就是将样本投影到平面上.
Data Visualization

2D

上图中压缩后的特征其实没有具体的意义.
Plot example in 2D

Principal Component Analysis problem formulation

PCA problem formulation

PCA算法是最小化projection error来压缩特征值.
注意PCA算法和Linear Regression之间的区别,如下图:
PCA is not Linear regression

上图左是Linear Regression,可以看到纵轴是样本对应的y,而且选择去拟合样本的时候cost function是最小化与y之间的误差.上图右是PCA,cost function是最小化projection error,是垂直于压缩后特征空间的距离.

Principal Component Analysis algorithm

目前最流行的实现Dimensionality Reduction(降维)的算法是PCA.算法步骤如下:
1.Feature Scaling/mean normalization

Preprocess

2.求协方差矩阵并通过svd函数求出U
协方差矩阵
此时U是一个n*n的矩阵
svd

3.求对应的新特征矩阵


size(X)=m*n,size(U_{reduce})=n*k
屏幕快照 2019-10-11 上午12.20.09.png

summary

summary

还原z->x

屏幕快照 2019-10-11 下午2.11.43.png


size(Z)=m*k,size(U_{reduce})=n*k

how to choose k

how to choose k

执行一次svd的到S,S是一个对角线矩阵,就是矩阵S对角线上的元素.

Advice for Applying PCA

首先总结PCA的作用:

  • 数据压缩(降维),带来的好处如下:
    • 减少所需存储空间
    • 提升算法速度
  • 样本可视化
    The PCA projection can be thought of as a rotation that selects the view that maximizes the spread of the data, which often corresponds to the “best” view.

speedup supervised learning algorithm

上图是使用PCA加速Logistic Regression的过程:
1.首先抛开向量y,对training set中的样本使用PCA得到和
2.构造新的training set,{(),()...()}
3.执行sigmoid函数预测结果即可
注意:cross-validation和test set中的样本直接使用training set应用PCA得到的U_{reduce}映射即可.即z_{cv}=(U_{reduce})^Tx_{cv}

bad use of PCA

不能因为PCA可以压缩特征就使用PCA去防止overfitting,overfitting的问题还是使用regularization处理.

屏幕快照 2019-10-11 下午11.54.49.png

不推荐盲目的使用PCA去处理原样本,至少在使用PCA之前,先尝试使用原样本进行计算,除非是在行不通,比如计算时间是在太久之类的,才考虑使用PCA,毕竟压缩的数据还是可能会丢掉一些重要的信息,而且是在不考虑y的情况下丢掉的(说不定丢掉的是归类的重要特性).

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容