李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding

Neighbor Embedding: 通过非线性的方法降维,根据在原先空间中数据点与点之间的关系来降维,也叫做Manifold Learning

流形学习(Manifold Learning)

Manifold:高维空间中的低维空间
在欧式空间里面,距离较小的适应,但距离一旦增大就不适应了,如下图:在比较近的点(蓝色)我们可以得到正确结果,但在比较远的点(红色和黄色),欧式空间就会认为红色更近,但从Manifold看来却是黄色更近
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
所以用Maniflod Learning去做降维,再去计算就会得到好的结果
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
方法

1. Locally Liner Embedding(LLE)

xi是空间一点,xj是他的临近点,他们之间有关系wij,xi通过wij来表示xj

李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding

我们用过最小化这个式子来求出wij

李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding

然后我们保持wij不变,找一个zi,就可以得到一个zj,就达到降维的目的。

李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
这个图告诉我们k的值要选对,并不是所有点都有关系,不能过大也不能过小,在这个S的降维中k=8,k=12效果都挺好的

李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding

2.Laplacian Eigenmaps

在空间中的两个点的距离关系不能单单只看距离,还要看它们之间有没有high density的关系,所以下面的左图中两个点距离不是按红色虚线,而是按蓝色线进行。
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
把数据看成果然graph,然后根据graph去降维,首先就是要找graph,半监督已经讲这个L后面会加上一个相当于正则项的S(表示i,j有多相近),用在无监督中,我们已经知道了wij,所以要最小化S
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
只要将所有点投影到一个点,S就是0,所以对z做一些限制,比如降至z维后,这些点要将z维空间填满。
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
前面两种方法只能把相近的点归集在一起,但远的点就不能做处理了。

3.t-SNE

t-SNE先定义一个概率分子是i,j的相似度,分母是i跟所有点相似度的和,降维前和降维后的尺度可能不一样,因此进行归一化都转换为几率后规模(scale)就统一了。希望能找到z使得两个分布(xi对于其他点的概率分布和zi 对于其他点的概率分布)越接近越好。
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding

t-SNE –Similarity Measure

如果有很多数据点,t-SNE需要逐个点对其他点的进行运算,similarity运算量较大,因此,一般开始会进行降维。
另外,如果有新的数据点加入,不能直接利用t-SNE进行预测,而是需要重新跑一边所有的数据。因此,t-SNE通常用于visualization,显示高维空间的数据在二维空间上的关系。

降维讲similarity计算使用的式子是:李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
这里为什么用exp有说过,exp掉得快,距离远的关系就弱。
t-SNE用的是:
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
做了t-SNE后如果相同的会比较近,而不同的会差比较大(拉大距离)
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding
直接看个例子:
李宏毅机器学习笔记-15:Unsupervised Learning:Neighbor Embedding

上一篇:机器学习之 manifold learning(流型学习)


下一篇:Manifold learning 流形学习