19.Unsupervised Learning-Neighbor Embedding

       之前在PCA中介绍了线性降维的方法,今天讲述neighbor embedding,即非线性降维的方法。降维凭借的是data point 和data point之间的关系,在降维前的空间中每一个点和它的邻居之间的关系来做降维,也叫做manifold learning。

Manifold Learning

       我们要做的是非线性的降维,data是分布在低维空间里面,只是被扭曲到了高维空间。 比如地球的表面是一个二维平面,但是被塞到一个三维空间中。 Manifold就是把S型摊平,将高维空间内的低维数据展开,这样才能计算点对点的距离。

Locally Linear Embedding (LLE)

       从原来的分布中找一点xi,然后找它的neighbour xj,计算它们之间的关系wij。把xi,xj 降维成zi,zj 之后要保证它们之间的wij 不变。李老师用白居易《长恨歌》作比,浪漫! 

 

      LLE没有明确的function做降维。 LLE的好处是,就算不知道xi,xj 只知道wij ,也可以用LLE。 要好好调neighbour的个数,刚刚好才会得到好的结果。点之间的距离关系保持不变需要点之间够近,所以k太大不行,会考虑一些太远的点。

Laplacian Eigenmaps

        两个点之间的距离能不能用欧氏距离还衡量,要看两点之间有没有高密度区域的链接,可以建立一个图,用图中的距离来表示。 回顾半监督学习:红框里那项与labelled data无关,它利用unlabelled data考虑得到的label是否smooth,作用类似于正则项。

       同样的道理可以用在无监督学习。但是最小化S会有问题,以为只要让zi=zj 就好了,这显然不合理。之所以在半监督学习时没有这个问题,是因为半监督学习的损失函数还有一项从标注数据而来,如果让所有标签都相等则那一项会很大。 所以要加一个约束:设z是M维的,则z1,z2,...,zN 张成RM 空间。 这样解出z。z就是graph laplacion L 的eigenvector,对应比较小的eigenvalue。 先找出z再用k-means做聚类,叫Spectral clustering.

T-distributed Stochastic Neighbor Embedding (t-SNE)

         前面方法只假设相近的点接近,未假设不相近的点要分开。相近的点离得很近,但不相近的点也聚集在一起,如下图。

         t-SNE先分别计算原空间、新空间中所有点对的相似度再归一化。归一化是必要的,为了防止两个空间中距离的scale不同。 然后最小化二者之间的KL距离,代入公式用GD(gradient descent)即可。

       t-SNE计算量大,可先用PCA降维,再用t-SNE降维。 

       t-SNE需要一堆data point,然后找到z。如果之后再给一个数据,t-SNE是没法做的,只能再跑一遍。 所以t-SNE主要用于可视化。 

       t-SNE的神妙之处在于原空间与新空间中相似度计算公式不同。

       原空间的计算公式,使得两个点的相似度随距离增加快速下降。 

       而新空间的计算公式,是长尾的,为了维持相同的相似度,两个点之间要分得更开。对原来距离很近的点,影响很小。而原来离得远的点,会被拉开,强化gap。 

       比较LLE on MNIST 与 t-SNE on MNIST。后者先做了PCA。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值