流行学习 Manifold Learning
PCA,ICA,LDA为linear fearture reduction tools,他们可对feature做一个linear projection,但是会丢失数据的non-linear structure。而流行学习算法主要用于解决non-linear feature reduction,可以有效保存数据的non-linear structure。
下面介绍sklearn支持的几种流行学习算法:
ISOMAP(等距映射)
ISOMAP希望在降维之后,保持样本之间的测地距离,而不是欧氏距离;
- 该算法的实施有3大步骤:
step1:寻找各个样本点的k-近邻;
step2:构建各个点之间的距离矩阵:如果点i为点J的k近邻,则二者距离可直接计算,否则,如果点i与点j不在同一个邻域图内,则二者之间的距离可以通过“最小路径算法”计算;
step3:求解目标:使降维后的距离矩阵与降维前的距离矩阵间距离最小,该步可用MDS(multi-dimentionality scaling)算法进行求解;(是一个特征值分解的过程);
- 缺点:
ISOMAP想要找到的是所有样本点的最优解,当数据量很大,数据维度很高时,会非常耗时。监于这一问题,LLE放弃了寻找所有样本点全局最优,而是通过寻找局部最优,来达到降维的目的。LLE假设样本集在局部是满足线性关系的。
LLE(Locally linear embedding)
LLE与ISOMAP的一个显著不同是,他是对样本点进行局部最优化而非全局最优。其核心思想是,通过拟合领域图内一点与其他点的线性方程,来保存数据的一个局部结构。在保证该局部结构不变的情况下,对原始数据进行降维,使得降维后的数据依然保有这种局部结构。
-
LLE步骤:
step1:进行K-近邻搜索,构建领域图;
step2:构建领域图中一点与其他点的线性关系,求取权重信息,如x1,x2,x3,x4是一个领域图中的所有点,求取x1=w1x2+w2x3+w3x4;
step3:在求出所有权重信息后,构建目标函数,及使降维前的x与降维后的y局部结构尽量保持相似:w1x2+w2x3+w3x4 = w1y2+w2y3+w3y4;(特征值分解过程,与PCA类似) -
缺陷
- 在求取局部最优解的过程中,存在一个问题,即权重的求取会涉及到矩阵Z的逆阵,但是,当Z不可逆时,则无法有效求出权重,从而影响数据降维后结构的保持。针对Z不可逆的问题,我们引入了regularization参数r(类似岭回归的操作),当r趋于0时,能够得到最优的权重,而当r>0时,则不能保证一定能得到一个较好的权重,他在实际中的一个重要表现是:数据的局部结构可能被扭曲。针对regularization的这个问题,学者又提出了一系列改进的LLE。
- 算法所学习的流形只能是不闭合的,且样本集是稠密均匀的。
- 算法对最近邻样本数的选择敏感,不同的最近邻数对最后的降维结果有很大影响。
- 优点
- 可以学习任意维的局部线性的低维流形。
- 算法归结为稀疏矩阵特征分解,计算复杂度相对较小,实现容易。
Modified locally linear embedding
MLLE主要是针对LLE中regularization问题,所提出的一种改进的LLE。其与LLE的不同之处在于,MLLE对搜索的权重进行了度量,他希望所获得的权重尽量在样本的各个方向上,而不是集中在一侧(use multiple weight vectors in each neighborhood?)。
[详细原理待补充]
Hession Eigenmapping
其也是针对LLE的regularization问题的一个改进版本,他考虑的不是保持局部的线性关系,而是保持局部的Hession矩阵的二次型关系(即保持局部的曲率形状)。
[详细原理待更新]
Local Tagent Space Alignment
LTSA与LLE不同的是,他并不是保持局部的线性关系,而是保持局部的切线关系,对局部切空间进行排列。
[详细原理待更新]
Spectrom Embedding
—— 拉普拉斯特征映射(Laplacian Eigenmaps),基于图的降维算法;
算法步骤:
step1:邻接矩阵W的构建 ;
step2:拉普拉斯特矩阵的构建:D-W,D为度矩阵
step3:对拉普拉斯特矩阵进行特征分解(特征值分解)
t-distributed Stochastic Neighbor Embedding (t-SNE)
[待更新]