IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021李宏毅机器学习笔记--18Unsupervised Learning -- Neighbor Embedding -> 正文阅读

[人工智能]2021李宏毅机器学习笔记--18Unsupervised Learning -- Neighbor Embedding

摘要

本节是进行非线性降维的一些算法。包括局部线性嵌入LLE、拉普拉斯特征映射和t分布随机邻居嵌入t-SNE,其中t-SNE特别适用于可视化的应用场景。t-SNE其中NE就是Neighbor Embedding的缩写。

一、Manifold Learning(流形学习)

样本点的分布可能是在高维空间里的一个流形(Manifold),也就是说,样本点其实是分布在低维空间里面,只是被扭曲地塞到了一个高维空间里

常见的例子就是地球,地球的表面就是一个流形(Manifold),它是一个二维的平面,但是被塞到了一个三维空间里

如下图左,在一个高维的S形的空间图形中,如何判断几个点之间的距离。在Manifold中,只有距离很近的点欧氏距离(Euclidean Distance)才会成立,而在下图的S型曲面中,欧氏距离是无法判断两个样本点的相似程度的

而Manifold Learning要做的就是把这个S型曲面降维展开,把塞在高维空间里的低维空间摊平,此时使用欧氏距离就可以描述样本点之间的相似程度。
在这里插入图片描述

二、Locally Linear Embedding(LLE,局部线性嵌入)

局部线性嵌入,locally linear embedding,简称LLE

假设在原来的空间中,样本点的分布如下所示,我们关注 x i x^i xi和它的邻居 x j x^j xj,用 w i j w_{ij} wij?来描述 x i x^i xi?和 x j x^j xj的关系

假设每一个样本点 x i x^i xi都是可以用它的neighbor做linear combination组合而成,那 w i j w_{ij} wij?就是拿 x j x^j xj去组合 x i x^i xi时的权重weight,因此找点与点的关系 w i j w_{ij} wij?这个问题就转换成,找一组使得所有样本点与周围点线性组合的差距能够最小的参数 w i j w_{ij} wij?

在这里插入图片描述
接下来就要做Dimension Reduction,把 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?是不变的。

LLE的具体的步骤如下所示:

1、在原先的高维空间中先找到 x i x^i xi x j x^j xj之间的关系 w i j w_{ij} wij?以后就把它固定住

在这里插入图片描述

2、使 x i x^i xi x j x^j xj降维到新的低维空间上的 z i z^i zi z j z^j zj

3、 z i z^i zi z j z^j zj需要minimize下面的式子:

在这里插入图片描述
即在原本的空间里 x i x^i xi可以由周围点通过参数 w i j w_{ij} wij?进行线性组合得到,则要求在降维后的空间里, z i z^i zi也可以用同样的线性组合得到

实际上,LLE并没有给出明确的降维函数,它没有明确地告诉我们怎么从 x i x^i xi降维到 z i z^i zi,只是给出了降维前后的约束条件

在实际应用LLE的时候,对 x i x^i xi来说,需要选择合适的邻居点数目K才会得到好的结果

下图给出了原始paper中的实验结果,K太小或太大得到的结果都不太好,注意到在原先的空间里,只有距离很近的点之间的关系需要被保持住,如果K选的很大,就会选中一些由于空间扭曲才导致距离接近的点,而这些点的关系我们并不希望在降维后还能被保留
在这里插入图片描述

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

3.1 简介

拉普拉斯特征映射,Laplacian Eigenmaps
之前在semi-supervised learning有提到smoothness assumption,即我们仅知道两点之间的欧氏距离是不够的,还需要观察两个点在high density区域下的距离

如果两个点在high density的区域里比较近,那才算是真正的接近

我们依据某些规则把样本点建立graph,那么smoothness的距离就可以使用graph中连接两个点路径上的edges数来近似。

在这里插入图片描述简单回顾一下在semi-supervised里的说法:如果两个点 x 1 x_1 x1? x 2 x_2 x2?在高密度区域上是相近的,那它们的label y 1 y_1 y1? y 2 y_2 y2?很有可能是一样的
在这里插入图片描述如上图所示公式L和S
其中 C ( y r , y r ^ ) C(y^r,\widehat{y^r}) C(yr,yr ?)表示labeled data项,λS表示unlabeled data项,它就像是一个regularization term,用于判断我们当前得到的label是否是smooth的

其中如果点 x i x_i xi? x j x_j xj?是相连的,则 w i , j w_{i,j} wi,j??等于相似度,否则为0, S的表达式希望在 x i x_i xi? x j x_j xj?很接近的情况下,相似度 w i , j w_{i,j} wi,j?很大,而label差距 ∣ y i ? y j ∣ \left|y^i-y^j\right| ?yi?yj?越小越好,同时也是对label平滑度的一个衡量。

3.2 应用

降维的基本原则:如果 x i x_i xi? x j x_j xj?在high density区域上是相近的,即相似度 w i , j w_{i,j} wi,j???很大,则降维后的 z i z_i zi? z j z_j zj?也需要很接近,总体来说就是让下面的式子尽可能小

S = 1 2 ∑ ? i , j w i , j ( y i ? y j ) 2 S=\frac12\sum_{?i,j}w_{i,j}(y^i-y^j)^2 S=21??i,j?wi,j?(yi?yj)2

注意,与LLE不同的是,这里的 w i , j w_{i,j} wi,j?表示 x i x_i xi? x j x_j xj?这两点的相似度,上式也可以写成 S = ∑ i , j w i , j ∣ ∣ z i ? z j ∣ ∣ 2 S=\sum\limits_{i,j} w_{i,j} ||z^i-z^j||_2 S=i,j?wi,j?zi?zj2?

但光有上面这个式子是不够的,假如令所有的z相等,比如令 z i z_i zi?= z j z_j zj?=0那上式就会直接停止更新

在semi-supervised中,如果所有label z i z_i zi?都设成一样,会使得supervised部分的 ∑ x r C ( y r , y r ^ ) \sum_{x^r}C(y^r,\widehat{y^r}) xr?C(yr,yr ?)变得很大,因此lost就会很大,但在这里少了supervised的约束,因此我们需要给 z一些额外的约束:

1、假设降维后z所处的空间为M维,则 { z 1 z^1 z1 , z 2 z^2 z2 , . . . , z N z^N zN } = R M R^M RM,我们希望降维后的 z z z占据整个 M维的空间,而不希望它活在一个比M更低维的空间里
2、最终解出来的z其实就是Graph Laplacian L比较小的特征值所对应的特征向量

这也是Laplacian Eigenmaps名称的由来,我们找的 z就是Laplacian matrix的特征向量

如果通过拉普拉斯特征映射找到z之后再对其利用K-means做聚类,就叫做谱聚类(spectral clustering)

在这里插入图片描述

3.3 短缺

这个方法只假设了相邻的点要接近,却没有假设不相近的点要分开。
所以在MNIST使用LLE会遇到下图的情形,它确实会把同一个class的点都聚集在一起,却没有办法避免不同class的点重叠在一个区域,这就会导致依旧无法区分不同class的现象

COIL-20数据集包含了同一张图片进行旋转之后的不同形态,对其使用LLE降维后得到的结果是,同一个圆圈代表同张图像旋转的不同姿态,但许多圆圈之间存在重叠。
在这里插入图片描述

四、t-SNE(T-distributed Stochastic Neighbor Embedding,t分布随机邻居嵌入)

4.1 简介

t-SNE,全称为T-distributed Stochastic Neighbor Embedding,t分布随机邻居嵌入

做t-SNE同样要降维,在原来 x的分布空间上,我们需要计算所有 x i x_i xi? x j x_j xj?之间的相似度 S ( x i , x j ) S(x^i,x^j) S(xi,xj)

然后需要将其做归一化: P ( x j ∣ x i ) P(x^j|x^i) P(xjxi)的相似度占所有与 x i x_i xi?i相关的相似度的比例

将 x降维到 z,同样可以计算相似度 S ′ ( z i , z j ) S'(z^i,z^j) S(zi,zj),并做归一化: Q ( z j ∣ z i ) Q(z^j|z^i) Q(zjzi)
如下图公式所示

在这里插入图片描述这里的归一化是有必要的,因为我们无法判断在 x和z所在的空间里, S ( x i , x j ) S(x^i,x^j) S(xi,xj) S ′ ( z i , z j ) S'(z^i,z^j) S(zi,zj)的范围是否是一致的,需要将其映射到一个统一的概率区间

我们希望找到的投影空间 z,可以让 P ( x j ∣ x i ) P(x^j|x^i) P(xjxi) Q ( z j ∣ z i ) Q(z^j|z^i) Q(zjzi)的分布越接近越好。

4.3 应用

t-SNE会计算所有样本点之间的相似度,运算量会比较大,当数据量大的时候跑起来效率会比较低

常见的做法是对原先的空间用类似PCA的方法先做一次降维,然后用t-SNE对这个简单降维空间再做一次更深层次的降维,以期减少运算量

值得注意的是,t-SNE的式子无法对新的样本点进行处理,一旦出现新的 x i x^i xi,就需要重新跑一遍该算法,所以t-SNE通常不是用来训练模型的,它更适合用于做基于固定数据的可视化

t-SNE常用于将固定的高维数据可视化到二维平面上

五、Similarity Measure(相似性度量)

如果根据欧氏距离计算降维前的相似度,往往采用RBF function(radial basis function,径向基函数) S ( x i , x j ) = e ? ∣ ∣ x i ? x j ∣ ∣ 2 S(x^i,x^j)=e^{-||x^i-x^j||_2} S(xi,xj)=e?xi?xj2?,这个表达式的好处是,只要两个样本点的欧氏距离稍微大一些,相似度就会下降得很快。

还有一种叫做SNE的方法,它在降维后的新空间采用与上述相同的相似度算法 S ′ ( z i , z j ) = e ? ∣ ∣ z i ? z j ∣ ∣ 2 S'(z^i,z^j)=e^{-||z^i-z^j||_2} S(zi,zj)=e?zi?zj2?

对t-SNE来说,它在降维后的新空间所采取的相似度算法是与之前不同的,它选取了t-distribution中的一种,即 S ′ ( z i , z j ) = 1 1 + ∣ ∣ z i ? z j ∣ ∣ 2 S'(z^i,z^j)=\frac{1}{1+||z^i-z^j||_2} S(zi,zj)=1+zi?zj2?1?

以下图为例,假设横轴代表了在原先 x空间上的欧氏距离或者做降维之后在z空间上的欧氏距离,红线代表RBF function,是降维前的分布;蓝线代表了t-distribution,是降维后的分布

1、你会发现,降维前后相似度从RBF function到t-distribution:
如果原先两个点距离( Δ x \Delta x Δx)比较近,则降维转换之后,它们的相似度( Δ y \Delta y Δy)依旧是比较接近的
2、如果原先两个点距离( Δ x \Delta x Δx)比较远,则降维转换之后,它们的相似度( Δ y \Delta y Δy)会被拉得更远
在这里插入图片描述
也就是说t-SNE可以聚集相似的样本点,同时还会放大不同类别之间的距离,从而使得不同类别之间的分界线非常明显,特别适用于可视化,下图则是对MNIST和COIL-20先做PCA降维,再做t-SNE降维可视化的结果:

在这里插入图片描述下面是一个对手写数字识别数据集进行t-SNE的动画(并不是使用MNIST)。因为是用Gradient Descent训练的,所以随着iteration的进行,点会被分的越来越开。

请添加图片描述

总结

本文主要介绍了三种非线性降维的算法:

1、LLE(Locally Linear Embedding),局部线性嵌入算法,主要思想是降维前后,每个点与周围邻居的线性组合关系不变, x i = ∑ j w i j x j x^i=\sum\limits_j w_{ij}x^j xi=j?wij?xj z i = ∑ j w i j z j z^i=\sum\limits_j w_{ij}z^j zi=j?wij?zj
2、Laplacian Eigenmaps,拉普拉斯特征映射,主要思想是在high density的区域,如果 x i x^i xi x j x^j xj这两个点相似度 w i , j w_{i,j} wi,j?高,则投影后的距离 ∣ ∣ z i ? z j ∣ ∣ 2 ||z^i-z^j||_2 zi?zj2?要小
3、t-SNE(t-distribution Stochastic Neighbor Embedding),t分布随机邻居嵌入,主要思想是,通过降维前后计算相似度由RBF function转换为t-distribution,在聚集相似点的同时,拉开不相似点的距离,比较适合用在数据固定的可视化领域

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 12:05:08  更:2021-08-07 12:05:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 21:36:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码