笔记:ML-LHY-15: Unsupervised Learning - Neighbor Embedding

介绍了3中非线性降维方法
LLE基于相邻点的关系,然后在低维空间保持这种关系
Laplacian Eigenmaps基于图结构的关系,然后在低维空间保持这种关系
t-SNE基于分布的关系,然后在低维空间保持这种关系,巧妙利用不同相似度函数实现拉开不同类
pdf 视频

Manifold Learning非线性降维

在之前的Unsupervised Learning - Linear Methods说到PCA是没法做非线性变换的,比如下面:
在这里插入图片描述
通过降维,可以使用欧氏距离计算距离。比如左边在高维空间蓝色点和红色点更近,但是在右边的2维屏幕上是蓝色点和黄色点更近。而在做数据可视化时,我们往往需要的是右边的低维度便于观察彼此距离和进行聚类。

Locally Linear Embedding (LLE)

在这里插入图片描述
x j x^{j} xj x i x^{i} xi相邻的点,它们之间的关系用 w i j w_{i j} wij表示,则我们希望下式尽可能小:
∑ i ∥ x i − ∑ j w i j x j ∥ 2 \sum_{i}\left\|x^{i}-\sum_{j} w_{i j} x^{j}\right\|_{2} ixijwijxj2
所以得到的 w i j w_{i j} wij就表示一组权重, x j x^{j} xj是周围的点和这个权重 w i j w_{i j} wij来表示 x i x^{i} xi

保持 w i j w_{i j} wij不变

在这里插入图片描述
在低维度的空间找一组 z j z^{j} zj和这个权重 w i j w_{i j} wij来表示 z i z^{i} zi

∑ i ∥ z i − ∑ j w i j z j ∥ 2 \sum_{i}\left\|z^{i}-\sum_{j} w_{i j} z^{j}\right\|_{2} izijwijzj2

所以就实现从高维转低维。不是很懂~~,了解一下。

对k的选择比较敏感:
在这里插入图片描述
太近太远都不是很好的关系。

Laplacian Eigenmaps

Semi-supervised提到Smoothness Assumption:
如果2点之间通过高密度路径(hightdensity path连通,则认为y1和y2是接近的在这里插入图片描述
当然,可以在基于图的结构上计算近似距离。

相似度 s ( x i , x j ) s\left(x^{i}, x^{j}\right) s(xi,xj)计算:
s ( x i , x j ) = exp ⁡ ( − γ ∥ x i − x j ∥ 2 ) s\left(x^{i}, x^{j}\right)=\exp \left(-\gamma\left\|x^{i}-x^{j}\right\|^{2}\right) s(xi,xj)=exp(γxixj2)
然后 w i , j = s ( x i , x j ) w_{i, j} =s\left(x^{i}, x^{j}\right) wi,j=s(xi,xj),和LLE思想类似,求得两点之间关系 w i , j w_{i, j} wi,j后,在低维空间找一个点 z j z^{j} zj,我们希望S尽可能小的情况下找到对应的 z i z^{i} zi,从而实现降维。
但是和在半监督学习不同的是, z j , z i z^{j}, z^{i} zj,zi都没有标签(在半监督学习中可能通过神经网络求得一部分),所以如果 z i = z j = 0 z^{i}=z^{j}=\mathbf{0} zi=zj=0那么S就一定是0,是会存在问题的。所以需要对z添加约束。

我们希望低维空间是M维的,而这些点组成的矩阵求秩也应该要为M。
Span ⁡ { z 1 , z 2 , … z N } = R M \operatorname{Span}\left\{z^{1}, z^{2}, \ldots z^{N}\right\}=R^{M} Span{z1,z2,zN}=RM

T-distributed Stochastic Neighbor Embedding (t-SNE)

单纯使用LLE的方法能够使得同类聚集,但是缺没法使不同类分开,比如下面:
在这里插入图片描述

t-SNE目的就是为了解决这个。
t-SNE做法:
求点 x i x_i xi x j x_j xj的归一化距离(做归一化的目的是在不同维空间进行比较):
P ( x j ∣ x i ) = S ( x i , x j ) ∑ k ≠ i S ( x i , x k ) P\left(x^{j} \mid x^{i}\right)=\frac{S\left(x^{i}, x^{j}\right)}{\sum_{k \neq i} S\left(x^{i}, x^{k}\right)} P(xjxi)=k=iS(xi,xk)S(xi,xj)
同样的,在低维空间也可求 z i z_i zi z j z_j zj的归一化距离:
Q ( z j ∣ z i ) = S ′ ( z i , z j ) ∑ k ≠ i S ′ ( z i , z k ) Q\left(z^{j} \mid z^{i}\right)=\frac{S^{\prime}\left(z^{i}, z^{j}\right)}{\sum_{k \neq i} S^{\prime}\left(z^{i}, z^{k}\right)} Q(zjzi)=k=iS(zi,zk)S(zi,zj)
我们希望一个点的周围分布在降维后保存不变,所以可以用周围点的归一化距离描述分布,我们希望总的分布误差越小越好。而描述分布差异用的就是KL散度(相对熵),所以对下式进行GD,求z。

L = ∑ i K L ( P ( ∗ ∣ x i ) ∥ Q ( ∗ ∣ z i ) ) = ∑ i ∑ j P ( x j ∣ x i ) log ⁡ P ( x j ∣ x i ) Q ( z j ∣ z i ) \begin{array}{r} L=\sum_{i} K L\left(P\left(* \mid x^{i}\right) \| Q\left(* \mid z^{i}\right)\right) \\ \quad=\sum_{i} \sum_{j} P\left(x^{j} \mid x^{i}\right) \log \frac{P\left(x^{j} \mid x^{i}\right)}{Q\left(z^{j} \mid z^{i}\right)} \end{array} L=iKL(P(xi)Q(zi))=ijP(xjxi)logQ(zjzi)P(xjxi)

ok,回到上面问题,t-SNE为什么可以把不同类拉开
关键在于 S S S S ′ S^{\prime} S不一样:
S和Smoothness Assumption一样,欧式距离经过RBF
S ( x i , x j ) = exp ⁡ ( − ∥ x i − x j ∥ 2 ) \begin{array}{l} S\left(x^{i}, x^{j}\right) \\ =\exp \left(-\left\|x^{i}-x^{j}\right\|_{2}\right) \end{array} S(xi,xj)=exp(xixj2)
S ′ S^{\prime} S则发生改变:
S ′ ( z i , z j ) = 1 / 1 + ∥ z i − z j ∥ 2 S^{\prime}\left(z^{i}, z^{j}\right)=1 / 1+\left\|z^{i}-z^{j}\right\|_{2} S(zi,zj)=1/1+zizj2

由于 S ′ S^{\prime} S拖尾更长,在距离远的情况下(横轴大),在保持同分布也就是相似度要一样的话 S ′ S^{\prime} S的横轴值会拉的更远。而在距离近的情况下(横轴小),则不会差太多:

在这里插入图片描述

S ′ S^{\prime} S不发生改变则叫SNE方法。

以上参考李宏毅老师视频和ppt,仅作为学习笔记交流使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值