引言

本文主要探讨一些非线性降维方法。主要讨论近邻嵌入(Neighor Embedding)。

流行学习

流行学习(Manifold Learning)认为我们所能观察到的数据实际上是由一个低维流行映射到高维空间的。

李宏毅机器学习——无监督学习(三)_数据

比如把一个二维的平面硬塞到三维的空间里面,这个二维的图形就是一个流行(manifold)。

李宏毅机器学习——无监督学习(三)_数据_02

假设我们看这个空间中的点A,可以说它和B点较远,和C点较近。对于这种比较接近的点,我们可以用欧几里得距离来计算它们之间的距离。

李宏毅机器学习——无监督学习(三)_机器学习_03


但是如果用欧几里得距离计算A点和D、E两点的距离哪个比较近,得到的结论可能是黄色区域的D点比较远。

但是如果我们把上图想象成一条路的话,走到E点实际上是比D点要远的。

如果我们可以把这个三维空间中的数据降到二维,那就可以用聚类或接下来介绍的监督学习方法。

好了,接下来要介绍的第一个方法叫LLE。

局部线性嵌入

局部线性嵌入(Local Liner Embedding,LLE)假设数据在较小的局部是线性的,某一个数据可以由它邻域中的几个样本来线性表示。

李宏毅机器学习——无监督学习(三)_数据降维方法_04

假设在高维的空间中有个点李宏毅机器学习——无监督学习(三)_机器学习_05,在这个点附近有一些邻居,上面红色的那些点。我们用李宏毅机器学习——无监督学习(三)_数据_06表示李宏毅机器学习——无监督学习(三)_机器学习_05李宏毅机器学习——无监督学习(三)_机器学习_08之间的关系。

假设李宏毅机器学习——无监督学习(三)_机器学习_05可以用它的邻居做线性组合(liner combination)表示出来,而这个线性组合的权重就是李宏毅机器学习——无监督学习(三)_数据_06

使得下式最小化,可以得到权重系数李宏毅机器学习——无监督学习(三)_数据降维方法_11

李宏毅机器学习——无监督学习(三)_数据_12

LLE要做的事情是降维的结果李宏毅机器学习——无监督学习(三)_机器学习_05降到李宏毅机器学习——无监督学习(三)_权重_14,李宏毅机器学习——无监督学习(三)_机器学习_08降到李宏毅机器学习——无监督学习(三)_相似度_16,它们之间的关系还是李宏毅机器学习——无监督学习(三)_数据_06

李宏毅机器学习——无监督学习(三)_机器学习_18

找出了李宏毅机器学习——无监督学习(三)_数据降维方法_11系数后,然后通过最小化下式找出李宏毅机器学习——无监督学习(三)_相似度_20

李宏毅机器学习——无监督学习(三)_相似度_21

下面介绍一个和LLE很像的方法——拉普拉斯特征映射(Laplacian Eigenmaps)

拉普拉斯特征映射

它是一个基于图的方法。

李宏毅机器学习——无监督学习(三)_机器学习_22

上面我们说用欧几里得距离不太准确,这个方法提出使用图来描述两点之间的距离。

这个方法是通过图来做降维。

李宏毅机器学习——无监督学习(三)_权重_23

首先需要根据数据点来做出图结构。
在半监督学习中,我们提到了不止考虑有标签数据之间的交叉熵,我们还会加上来自于图结构的正则项(regularization term)。

李宏毅机器学习——无监督学习(三)_相似度_24

这个正则项是说,如果李宏毅机器学习——无监督学习(三)_机器学习_25这两笔数据,它们中间边的权重是李宏毅机器学习——无监督学习(三)_数据_26的话,我们希望这两笔数据的标签越近越好。

李宏毅机器学习——无监督学习(三)_数据降维方法_27

前面说的是用在监督学习上。如果用在无监督学习上会怎样。

如果李宏毅机器学习——无监督学习(三)_相似度_28李宏毅机器学习——无监督学习(三)_权重_29在高密度区域是接近的,那么降维后的结果李宏毅机器学习——无监督学习(三)_数据_30李宏毅机器学习——无监督学习(三)_数据降维方法_31也应该是接近的。
李宏毅机器学习——无监督学习(三)_数据_30李宏毅机器学习——无监督学习(三)_数据降维方法_31它们要使下面这个式子最小化。
李宏毅机器学习——无监督学习(三)_机器学习_34

我们已经在图结构上知道了李宏毅机器学习——无监督学习(三)_机器学习_25之间的权重,我们希望李宏毅机器学习——无监督学习(三)_相似度_20的距离越近越好。

为了防止使得李宏毅机器学习——无监督学习(三)_数据_37,需要对降维后的李宏毅机器学习——无监督学习(三)_数据_38做一些限制。

假设降维后的维度是李宏毅机器学习——无监督学习(三)_相似度_39,我们希望所有的李宏毅机器学习——无监督学习(三)_机器学习_40可以填满整个李宏毅机器学习——无监督学习(三)_相似度_39维的空间。

t分布随机近邻嵌入

上面提到的两种方法都有个问题是,都只说了如果在原来的空间上相近,那么降维后也要相近。
而没有说,如果两个点在原来的空间上距离很远,降维后要怎样。

如果做LLE或拉普拉斯特征映射的时候,可能会发现本来不相干的点被叠在一起。

李宏毅机器学习——无监督学习(三)_权重_42


如果在MNIST(手写数字识别数据集)上面做LLE,这里不同颜色的点代表不同的数字,LLE可以把同样的数字放到一起,但是无法把不同的数字分开。

所以就需要t分布随机近邻嵌入(T-distributed Stochastic Neighbor Embedding,t-SNE),它是目前效果最好的数据降维与可视化方法。

它的做法是,先在原空间中两两相互计算两点之间的相似度(similarity)。

定义

李宏毅机器学习——无监督学习(三)_相似度_43

在降维后的结果,也计算两两之间的相似度李宏毅机器学习——无监督学习(三)_相似度_44

定义
李宏毅机器学习——无监督学习(三)_相似度_45

接下来需要找一组李宏毅机器学习——无监督学习(三)_数据_38满足下面的特性,两个分布之间的相对熵(KL散度,是描述两个概率分布的相近程度)越小越好:

李宏毅机器学习——无监督学习(三)_数据_47

这样在原来空间中概率大的转换后概率也大;在原来空间中概率小的,转换后概率也小。

接下来看下t-SNE所选择的衡量相似度的方法。

在原来空间上,李宏毅机器学习——无监督学习(三)_数据_48,算出两个点之间的距离,再取负号,然后作为指数李宏毅机器学习——无监督学习(三)_权重_49的幂。

使用这个距离时,如果两个点本来很近,转换后还是很近。如果两个点只要稍微远一点,那么转换后都是一样的远。

在t-SNE之前还有另一个方法叫SNE,它在转换后的空间计算相似度的方法和原空间用的是一样的。

李宏毅机器学习——无监督学习(三)_数据_50

而t-SNE对于转换后的距离计算是这样的:

李宏毅机器学习——无监督学习(三)_数据_51

这两个方式有什么不同呢?

李宏毅机器学习——无监督学习(三)_权重_52

SNE是橙色这条线,t-SNE是蓝色的这条线。

假设在原来的空间上有两个数据橙色点,它们在比较近的距离的时候差距是差不多的,在比较远点距离的时候相差很远。

也就是说,如果两个点在原空间上有点距离的话,t-SNE在转换后的控件上会尽量拉开它们之间的距离。

李宏毅机器学习——无监督学习(三)_数据_53

t-SNE在MNIST上会把不同的数字分界很明显。

参考

1.​​李宏毅机器学习​