流形学习(Manifold Learning)
流形学习是非线性降维的重要研究领域,
前言
PCA是目前应用最广泛的线性降维方法,采用线性投影的方法进行数据降维,使数据在给定方向上的投影得到最大的投影方差,当流形是一个线性流形时,PCA得到的结果是最优的,PCA无法有效处理非线性流形上的数据。
流行学习简介
流形: 流形(manifold)是一般几何对象的总称,包括各种维度的曲线与曲面等,和一般的降维分析一样,流形学习是把一组在高维空间中的数据在低维空间中重新表示。不同之处是,在流形学习中假设:所处理的数据采样与一个潜在的流形上,或者说对于这组数据存在一个潜在的流形。
流形上的点本身是没有坐标的,所以为了表示这些数据点,我们把流形放入到外围空间(ambient space),用外围空间上的坐标来表示流形上的点,例如三维空间 R^3 中球面是一个2维曲面,即球面上只有两个自由度,但我们一般采用外围空间R^3 空间中的坐标来表示这个球面。
流行学习可以概括为:在保持流形上点的某些几何性质特征的情况下,找出一组对应的内蕴坐标(intrinsic coordinate),将流形尽量好的展开在低维平面上,这种低维表示也叫内蕴特征(intrinsic feature),外围空间的维数叫观察维数,其表示叫自然坐标,在统计上称为observation。
流形学习 = 微分流形 + 黎曼几何
主要的代表方法
1) Isomap (等距映射)
Isomap = MDS(Multidimensional Scaling)多维尺度变换 + 测地线距离
MDS: MDS是理论上保持欧式距离的一种经典方法,MDS最早用来做数据的可视化,MDS得到的低维表示中心在原地,所以又可以说是保持内积大小,MDS降维后的任意两点的距离(内积)与高维空间的距离相等或近似相等。
因此MDS在流形数据处理上,保持欧式距离不变的理论不可行(失效),Isomap就是改进的MDS方法,在流形非线性降维领域的应用方法。
Isomap的理论框架为MDS,放在流形的理论框架中,原始的高维空间欧氏距离换成了流形上的测地线距离。Isomap是把任意两点的测地距离(准确地说是最短距离)作为流形的几何描述,用MDS理论框架保持点与点之间的最短距离。
测地线的计算:在流形结构未知,数据采样有限的情况下, 通过构造数据点间的邻接图(Graph),用图上的最短距离来近似测地线距离,当数据点趋于无穷多时,这个估计近似距离趋向于真实的测地线距离。
此算法是计算机系中常用的图论经典算法。
Isomap算法步骤:
1.构建近邻图G。如果样本点 i 和样本点 j 之间的距离小于设定的距离阈值(由于距离阈值较小,可用欧氏距离近似),或它们为K近邻,则连接样本点 i 与样本点 j ,为相邻点。
2.计算样本点两两之间的测地距离,邻近点的测地距离用欧氏距离近似表示,较远两点间的测地距离用图上两点间的最短距离近似表示(如下图红线表示最短距离,蓝线表示测地距离),建立测地距离矩阵 DG=dG(xi,xj) D G = d G ( x i , x j )
3.利用MDS算法构造内在d维子空间,最小化下式: E=∥τ(DG)−τ(DY)∥L2 E = ‖ τ ( D G ) − τ ( D Y ) ‖ L 2
矩阵变换算子 τ(D)=−HSH/2 τ ( D ) = − H S H / 2 将距离转换成MDS所需的内积形式,其中S是平方距离矩阵, Sxi,xj=D2xi,xj S x i , x j = D x i , x j 2 是集中矩阵, Hxi,xj=δxi,xj−1/N H x i , x j = δ x i , x j − 1 / N ,上式的最小值可以通过求解矩阵 τ(DG) τ ( D G ) 的d个最大特征值对应的特征向量来实现。
2) LLE(Locally Linear Embedding) 局部线性嵌入
LLE基本思想:
一个流形在很小的局部邻域上可以近似看成是欧氏的,即局部线性的。那么,在小的局部邻域中,一个点就可以用它周围的点在最小二乘意义下的最优线性来表示。LLE方法即是把这种线性拟合的系数当成这个流形的局部几何性质的描述。同样的,一个后的低维空间数据表示,也就应该具有同样的局部几何性质,所以利用同样的线性表示的表达式,最终写成一个二次型的形式 。
概括的来说就是:”流形在局部可以近似等价于欧氏空间“。
LLE算法步骤:
1.构建邻域图。对于原始空间中任一给定的样本点 xi x i ,用K近邻法得到它的一组邻域点 xj x j ;
2.计算权重。由局部线性假设,样本点 xi x i 可用K 个邻域点 xj x j 线性表示出来,即 xi≈∑Wi,jxj x i ≈ ∑ W i , j x j ,用权重描述出每一样本点与其邻域点之间的关系,权重 Wi,j W i , j 是使得样本点 xi x i 用其K个邻域点 xj x j 重构误差最小的解的系数:
ξ(W)=∑i|xi−∑jWi,jxj|2 ξ ( W ) = ∑ i | x i − ∑ j W i , j x j | 2
使 ξ(W) ξ ( W ) 的值为最小,则 Wi,j W i , j 即为各样本点最优的线性表示参数,即权重。
3.将这种局部线性结构嵌入低维空间。嵌入操作是通过最小化误差来尽可能多的保留原空间的性质:
ξ(y)=∑i|yi−∑jWi,jyj|2 ξ ( y ) = ∑ i | y i − ∑ j W i , j y j | 2
这里的 Wi,j W i , j 是第二步计算的权重值,