李宏毅老师课程:Unsupervised Learning:Introduction
无监督学习:介绍
Overview
无监督学习(Unsupervised Learning)可以分为两种:
- 化繁为简:
聚类(Clustering)
降维(Dimension Reduction) - 无中生有(Generation)
Clustering
Introduction
聚类就是把相近的样本划分为同一类,比如对下面这些没有标签的image进行分类,手动打上cluster 1、cluster 2、cluster 3的标签,这个分类过程就是化繁为简的过程
HAC(层次聚类)
假设现在我们有5个样本点,想要做clustering:
- build a tree:
整个过程类似建立Huffman Tree,只不过Huffman是依据词频,而HAC是依据相似度建树- 对5个样本点两两计算相似度,挑出最相似的一对,比如样本点1和2
- 将样本点1和2进行merge (可以对两个vector取平均),生成代表这两个样本点的新结点
- 此时只剩下4个结点,再重复上述步骤进行样本点的合并,直到只剩下一个root结点
- pick a threshold:
选取阈值,形象来说就是在构造好的tree上横着切一刀,相连的叶结点属于同一个cluster
下图中,不同颜色的横线和叶结点上不同颜色的方框对应着切法与cluster的分法
Dimension Reduction(降维)
Introduction
如果原先的object是high dimension的,比如image,那现在用它的属性来描述自身,就可以使之从高维空间转变为低维空间,这就是所谓的降维
Why Dimension Reduction Help?
假设data为下图左侧中的3D螺旋式分布,你会发现用3D的空间来描述这些data其实是很浪费的,因为我们完全可以把这个卷摊平,此时只需要用2D的空间就可以描述这个3D的信息
如果以MNIST(手写数字集)为例,这些3只有倾斜的角度不一样,用1D即可表示
How to do Dimension Reduction?
最简单的方法是Feature Selection(功能选择),即直接从原有的dimension里拿掉一些直观上就对结果没有影响的dimension,就做到了降维,比如下图中从两个维度中直接拿掉;但这个方法不总是有用,因为很多情况下任何一个dimension其实都不能被拿掉,就像下图中的螺旋卷
另一个常见的方法叫做PCA(Principe Component Analysis)
PCA认为降维就是一个很简单的linear function,它的input x和output z之间是linear transform,即,PCA要做的,就是根据一大堆的x把W给找出来(现在还不知道z长什么样子)
关于PCA算法的介绍见下一篇文章
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。