Unsupervised Learning: Neighbor Embedding

Manifold Learning(流形学习)

其实我们要做的事情就是降维,但是是非线性的降维。

假设data其实是分布在一个低维的空间中,只是扭曲的被塞到了一个高维的空间中,比如地球的表面,它是一个二维的平面,但是被放到了一个三维的空间中。

在这个manifold中,很近的情况下,欧式距离是有意义的,但是距离比较远的情况下,欧氏距离就没有意义了。


上图中,123点距离比较近,那么根据欧式距离我们可以看出23比21相近,但是对于245三个点,虽然24欧式距离比25近,但很有可能是实际中25比较相近。

那manifold learning要做的事情就是把高维上的低维空间摊平,这样的好处就是可以用欧式距离来评判点和点之间的距离,这对接下的cluster或者supervised learning等都是有帮助的。


类似的方法有很多,我们现在很快介绍几种方法然后讲TSNE。

Locally Linear Embedding(LLE)

原来空间中有xi,然后找到k个邻居xj,我们假设每个xi都可以通过它的邻居经过线性组合得到它,求出一组wij,


求出wij之后就将其固定住不变,然后在低维空间上找出zi和zj(它们是另外的vector),它们之间的关系还是wij,


zj也可以用同样的线性组合找到zi,现在wij是已知的,要找出一组z,使得zj透过wij求和之后可以与zi越接近越好。

其实LLE并没有一个明确的函数来告诉你怎么应用之后达到降维,降维后的z完全是凭空找出来的。用LLE有一个好处就是就算你不知道原来的xi和xj,你只知道wij,也可以用LLE求出来zi和zj。

LLE要确定好neighbor有几个,neighbor的个数要刚刚好才能达到好的效果。K太大的话,欧式距离就没有意义了,会导致结果不好了。


Laplacian Eigenmaps(拉普拉斯特征映射)

如下图中的两个点,求它的欧氏距离是不足够的,两个点之间有high density的connection它们才算很接近,可以用一个graph来表示data point,将比较近的点连起来,把点变成graph之后,你考虑smoothness的距离就可以被graph上的connection来近似。


回顾semi-supervised:loss函数包含一个label有关的项和一个与label无关的s项,wij大表示二者相近,期望yi和yj越接近越好:



L就是graph的laplacian。

那一样的道理可以完全应用在非监督的学习上,我们可以说在高维上x1和x2相近,那么在低维上的z1和z2也是相近的,下图中的S中平方不是很好,可以改成欧氏距离。如果xi和xj的data point很像(wij比较大),那zi和zj做完降维之后的距离就很近,反之wij很小,距离怎样都可以。但是直接minimize S是不可以的,因为你可以初始化zi=zj=0,那S就等于0,(这与刚才的Loss不一样,因为上述的损失函数里有supervised的那一项,都设置成0那一项会很大)。

所以要给z一些constraints,如果z是M维的,但是我们不希望z实际是在 比M更低维的空间中,假设找到了N个z,占据了M维的空间。解出来z之后,你会发现与之前的graph的laplacian L是有关系的,z就是L=D-W的特征向量。


T-distributed Stochastic Neighbor Embedding(t-SNE)

前面的方法只考虑了相近的点要在一起,但是没有考虑距离远的点要分开。


对于t-SNE也是要先降维,

对于原来的xi,xj求出similarity S(xi,xj),再做一个normalization P(xj|xi)

假设我们找出了降维之后的z,按照上述过程也可以求出:


做normalization是有必要的,最后的结果都是几率,映射到0-1之间。

然后我们要让x和z的distribution越相似越好。


其实只要用梯度下降就可以找了,将两个公式带入,然后只要对z做微分就可以求出结果,

只是要求所有data point之间的similarity会比较麻烦,所以可以用PCA来降维,然后再用t-SNE来降维。

t-SNE是没办法预测新的data point的,只能对现有的data跑一遍得到降维结果。

t-SNE-Simila Measure

那t-SNE怎么求similarity呢?原来的data point用的是

但是t-SNE用的是:


这样用的好处是,假设横轴代表了将为之后的欧氏距离,如果原来的两个点距离比较远,那变到t-distribution之后距离会被拉的更远,因为t-distribution的尾巴很长,那跑完t-SNE之后的结果如下,会聚集成一团一团的,不同之间有一定的距离:






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值