机器学习之 manifold learning(流型学习)
1.流型介绍
流形学习的观点:认为我们所能观察到的数据实际上是由一个低维流行映射到高维空间的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度就能唯一的表示。所以直观上来讲,一个流形好比是一个𝑑d维的空间,在一个𝑚m维的空间中(𝑚>𝑑)(m>d)被扭曲之后的结果。
下图:瑞士卷就是一个例子
流形具有在局部与欧式空间同胚的空间,也就是它在局部具有欧式空间的性质,能用欧式距离来进行距离计算。这就给降维带来了很大的启发,若低维流形嵌入到了高维空间,此时样本在高维空间的分布虽然复杂,但在局部上仍具有欧式空间的性质,因此可以在局部建立降维映射关系,然后再设法将局部映射关系推广到全局。而且当数据被降维到二维和三维时,就可以进行可视化,因此流形学习也可以被用于可视化。
2、流型学习典型算法介绍
流形学习方法具有一些共同的特征:首先构造流形上样本点的局部邻域结构,然后用这 些局部邻域结构来将样本点全局的映射到一个低维空间。它们之间的不同之处主要是在于构 造的局部邻域结构不同以及利用这些局部邻域结构来构造全局的低维嵌入方法的不同。
-1.ISOMAP
ISOMAP引入测地线距离来表示潜在流形上点与点之间的距离,并在降维过程中保持该距离不变。
保持全局测地距离: 测地距离反映数据在流形上的真实距离差异。
等距映射: 基于线性算法MDS,采用“测地距离”作为数据差异度量。
顺带介绍一下MDS算法思想
MDS是一种非监督的维数约简方法。
MDS的基本思想:约简后低维空间中任意两点间的距离应该与它们在原高维空间中的距离相同。
MDS的求解:通过适当定义准则函数来体现在低位空间中对高维距离的重建误差,对准则函数用梯度下降法求解,对于某些特殊的距离可以推导出解析解法。
MDS的目标是在降维的过程中将数据的dissimilarity(差异性)保持下来,也可以理解降维让高维空间中的距离关系与低维空间中距离关系保持不变。
测定:测地距离
Isomap算法是全局的,它要找到所有样本全局的最优解,当数据量很大时或者样本维度很高时,计算量非常大。因此更常用的算法是LLE(局部线性嵌入),LLE放弃所有样本全局最优的降维,只是通过保证局部最优来降维。
-2.局部线性嵌入(LLE)
-
显式利用“局部线性”的假设,流形学习的局部区域具有欧式空间的性质,那么在LLE中就假设某个点xi坐标可以由它周围的一些点的坐标线性组合求出。
-
保持局部邻域几何结构-重构权重。
-
权重对样本集的几何变幻具有不变性。
前提假设
-
采样数据所在的低维流形在局部是线性的。
-
每个采样点均可以利用其近邻样本进行线性重构表示。
-
学习目标
1.低维空间中保持每个邻域中的重构权值不变。
2.在嵌入映射为局部线性的条件下,最小化重构误差。
3.最终形式化为特征值分解问题。
算法过程:
算法的主要步骤分为三步:
(1)寻找每个样本点的k个近邻点;
(2)由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;
(3)由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值。
LLE算法总结:
主要优点:
1)可以学习任意维的局部线性的低维流形。
2)算法归结为稀疏矩阵特征分解,计算复杂度相对较小,实现容易。
3)可以处理非线性的数据,能进行非线性降维。
主要缺点:
1)算法所学习的流形只能是不闭合的,且样本集是稠密的。
2)算法对最近邻样本数的选择敏感,不同的最近邻数对最后的降维结果有很大影响。