以人脸识别为例,假设人脸维数是2020维的,那么在流形上认为人脸是2020维这个高维空间上的一个点,可以认为这两个人脸头像经过不同光照内嵌到2020维的高维空间中。
传统降维方法
经典的降维算法是PCA(主成分分析)和多维尺度分析(MDS),两个算法都能保证高维输入空间的位于线性子空间上的真实数据结构。
PCA 以方差大小衡量信息量的多少,认为方差正比于信息量,其基本思想是通过线性变换尽可能地保留方差大的数据量。
MDS 在低维嵌入空间中尽量保持原始数据任意两点之间的欧式距离。
缺点
PCA、MDS方法都是线性降维方法,对于包含非线性结构的数据,往往无法起到作用。
非线性流形需要解决的问题
对于线性方法无法解决的非线性空间结构,我们引入流形概念,将高位非线性空间引入到流形中,那么在高维非线性空间度量问题就变成了流形上的度量问题。
- 如何测量流形上的几何距离?
- 如何将高维空间映射到三维子空间?
流形方法
首先将欧式距离转换成测地距离,测地距离由测地线确定,测地线可视作直线在弯曲空间中的推广,在有度规定义存在时,测地线可以定义为空间中两点的局部最短路径。
![](https://img.haomeiwen.com/i13942301/7e401794ed7dc460.png)
因为流行空间的局部邻域和欧式空间同胚,因此测地距离可以通过局部邻近点的欧氏距离的积分得到。
假设领域点的集合,相邻点距离为
,那么从点
到点
的距离为:
即,结果如下图所示。
![](https://img.haomeiwen.com/i13942301/aad39b1739e1a992.png)
因此,我们可以得到实现方法
引入图论框架,将数据作为图中的点,点与其邻近点之间使用边来连接,逼近的测地线使用最短路径代替。
ISOMap方法
步骤如下:
-
构建邻接图
(复杂度:
)
基于输入空间中
中流形
的邻近点对
之间的欧氏距离
,选取每个样本点距离最近的
个点(K-ISOMap)或在样本点选定半径为
的圆内所有点为该样本点的近邻点,将这些近邻点用边连接,将流形
构建为一个反映邻近关系的带权流通图
;
-
计算所有点对之间的最短路径(复杂度:
)
通过计算邻接图
上任意两点之间的最短路径逼近流形上的测地距离矩阵
,实现最短路径的常用算法有Floyd或者Dijkstra。
-
构建k维坐标向量(复杂度:
)
根据图距离矩阵
使用经典MDS算法在d维空间Y中构造数据的嵌入坐标表示(如下图C所示),选择低维空间Y的任意两个嵌入坐标向量
与
使得代价函数最小:
式2的全局最优解可以通过将坐标向量设置为距离矩阵
前
个特征值对应的特征向量来得到。
![](https://img.haomeiwen.com/i13942301/cfe50a074ed91194.png)
Appendix
-
流形聚类算法 K-manifolds
-
SSC算法
网友评论