李宏毅学习笔记24.Unsupervised Learning.02: Neighbor Embedding

前言

非监督学习分为两大类:Clustering & Dimension Reduction 和Generation,上节讲的是线性的降维PCA,这节主要是讲非线性降维:TSNE,先从NE讲起。
B站评论提示:非监督学习那里视频的顺序有错,应该是pca,ne,da(Deep Auto Encoder),we,dgm
公式输入请参考:在线Latex公式

流形学习(Manifold Learning)

我们所能观察到的数据实际上是由一个低维流行映射到高维空间的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度就能唯一的表示。所以直观上来讲,一个流形好比是一个 d d d维的空间,在一个 m m m维的空间中( m > d m>d m>d)被扭曲之后的结果。需要注意的是流形并不是一个形状,而是一个空间。常见例子就是地图:
在这里插入图片描述
注意:如果在高维空间上,如果距离较小的时候,欧氏距离还是适用的(上图中的小三角形),如果距离较大就不行了(上图中的大三角形)。同样的还有下面的例子(左边)
在这里插入图片描述
如果将左边的数据进行降维变成右边的数据,就可以应用欧式距离进行聚类计算(或者监督学习),这样降维的方法有很多,这节课会简单介绍几个,重点介绍TSNE(t-distributed Stochastic Neighbor Embedding)

Locally Linear Embedding (LLE)

假设在空间中点的分布如下图所示,其中有一个点叫做 x i x^i xi
在这里插入图片描述
然后选出 x i x^i xi的邻居 x j x^j xj,并找出 x i x^i xi x j x^j xj的关系 w i j w_{ij} wij
在这里插入图片描述
w i j w_{ij} wij要满足以下关系(也可以看做: x i x^i xi是由 x j x^j xj的linear combination产生的):
在这里插入图片描述
接下来降维,从 x i x^i xi x j x^j xj得到 z i z^i zi z j z^j zj w i j w_{ij} wij不变
在这里插入图片描述
老师用了白居易的《长恨歌》中的名句来做比喻:
在这里插入图片描述
下图中,降维后的 w i j w_{ij} wij是已知的,我们要找 z i z^i zi z j z^j zj满足橙色框的式子最小
在这里插入图片描述
LLE中没有一个明确的function来进行降维(从x变到z),不像上节Auto Encoder一样可以学习到一个encoder NN,可以把新的data point转换到新的维度。
LLE中选取邻居的数量很重要
在这里插入图片描述
论文控:Lawrence K. Saul, Sam T. Roweis, “Think Globally, Fit Locally: Unsupervised Learning of Low Dimensional Manifolds”, JMLR, 2013
邻居点不能太多,因为本节开始地球仪的例子里面就提到了,如果点很近的情况下,欧氏距离还是可以用的,点太多,离得太远就不适用了。

Laplacian Eigenmaps

之前的semi supervised 有讲过,在空间中的两个点的距离关系不能单单只看距离,还要看它们之间有没有high density的关系,所以下面的左图中两个点距离不是按红色虚线,而是按蓝色线进行。
在这里插入图片描述
之前的semi supervised内容:
Review in semi-supervised learning: If x 1 x^1 x1 and x 2 x^2 x2 are close in a high density region, y ^ 1 \hat y^1 y^1 and y ^ 2 \hat y^2 y^2 are probably the same.
在这里插入图片描述
其中:
在这里插入图片描述
把以上内容应用到unsupervised的task上:
在这里插入图片描述
上式中平方应该换成L2 NORM,这里与前面的semi-supervised learning不一样,semi-supervised learning中有一个是有label的,所以不会出现下面的情况:
在这里插入图片描述
直接把两个都弄成0,S就最小化了。因此要给z一些条件限制:
在这里插入图片描述
M是维度。解出来的z实际上就是Laplacian Eigenvector,又有一个潮名:Spectral clustering: clustering on z

T-distributed Stochastic Neighbor Embedding (t-SNE)

讲了这么久终于到正题了,之前的方法有一些问题,例如:相近的数据会比较接近,但是不同的点并没有规定要分开
在这里插入图片描述
COIL-100 数据集是彩色图片集合,包含对 100 个物体从不同角度的拍摄,每隔 5 度拍摄一副图像,每个物体 72 张图像。每张图像大小进行了统一处理为 128x128。
上面右图中的圈圈代表同一个物体从不同角度拍摄的结果。

t-SNE怎么做

当然还是要降维:在这里插入图片描述
Compute similarity between all pairs of x: S ( x i , x j ) S(x^i,x^j ) S(xi,xj),它的归一化形式为:
P ( x j ∣ x i ) = S ( x i , x j ) ∑ k ≠ i S ( x i , x k ) P(x^j|x^i)=\frac{S(x^i,x^j )}{\sum_{k\neq i}S(x^i,x^k )} P(xjxi)=k=iS(xi,xk)S(xi,xj)
同理,对于z来说:
在这里插入图片描述
上两个式子的意义在于,降维前和降维后的尺度可能不一样,因此进行归一化都转换为几率后scale就统一了。希望能找到z使得两个分布( x i x^i xi对于其他点的概率分布和 z i z^i zi对于其他点的概率分布)越接近越好。
在这里插入图片描述
如果有很多数据点,t-SNE需要逐个点对其他点的进行运算,similarity运算量较大,因此,一般开始会进行降维。
另外,如果有新的数据点加入,不能直接利用t-SNE进行预测,而是需要重新跑一边所有的数据。因此,t-SNE通常用于visualization,显示高维空间的数据在二维空间上的关系。

t-SNE –Similarity Measure

之前降维讲similarity计算使用的式子是:
S ( x i , x j ) = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 ) S(x^i ,x^j) =exp(-||x^i-x^j||_2) S(xi,xj)=exp(xixj2)
这里为什么用exp有说过,exp掉得快,距离远的关系就弱。
在这里插入图片描述
SNE中降维后用的计算公式和原来的一样。
在这里插入图片描述
t-SNE的Similarity Measure计算公式和原来的不一样。原来很近的点,降维后还是很近,如果原来很远的点,做降维transform后变比较远。这样在可视化的效果会比较好。
在这里插入图片描述
MNIST先做PCA后再t-SNE

在这里插入图片描述
在这里插入图片描述
上图中在这里插入图片描述是类似被子这种对称的形状旋转后的结果。
在这里插入图片描述是数据集中有四个小汽车,比较像所以会叠在一起。

To learn more …

• Locally Linear Embedding (LLE): [Alpaydin, Chapter 6.11]
• Laplacian Eigenmaps: [Alpaydin, Chapter 6.12]
• t-SNE
Laurens van der Maaten, Geoffrey Hinton, “Visualizing Data using t-SNE”, JMLR, 2008
Excellent tutorial: https://github.com/oreillymedia/t-SNE-tutorial

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值