[更新ing]sklearn(五):sklearn.manifold Manifold Learning

流行学习 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假设样本集在局部是满足线性关系的。

参考博文:
Isomap
流行学习,经典学习算法Isomap的原理
详解多维标度法

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类似)

  • 缺陷

  1. 在求取局部最优解的过程中,存在一个问题,即权重的求取会涉及到矩阵Z的逆阵,但是,当Z不可逆时,则无法有效求出权重,从而影响数据降维后结构的保持。针对Z不可逆的问题,我们引入了regularization参数r(类似岭回归的操作),当r趋于0时,能够得到最优的权重,而当r>0时,则不能保证一定能得到一个较好的权重,他在实际中的一个重要表现是:数据的局部结构可能被扭曲。针对regularization的这个问题,学者又提出了一系列改进的LLE。
  2. 算法所学习的流形只能是不闭合的,且样本集是稠密均匀的。
  3. 算法对最近邻样本数的选择敏感,不同的最近邻数对最后的降维结果有很大影响。
  • 优点
  1. 可以学习任意维的局部线性的低维流形。
  2. 算法归结为稀疏矩阵特征分解,计算复杂度相对较小,实现容易。

参考博文:
Locally linear embeded(LLE)局部线性嵌入(降维)
局部线性嵌入(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:对拉普拉斯特矩阵进行特征分解(特征值分解)

参考博文:
拉普拉斯特征映射(Laplacian Eigenmaps)

t-distributed Stochastic Neighbor Embedding (t-SNE)

[待更新]

参考博文
t-SNE算法(附Python/R代码)
t-分布邻域嵌入算法(t-SNE algorithm)简单理解

比较:sklearn.random_projection

random_projection

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sarah ฅʕ•̫͡•ʔฅ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值