非线性降维

高维数据，意味着数据需要多于两个或三个维度来表示，一般很难被解释。一种简化的方法是假设数据嵌在高维空间的一个非线性流形上。如果这个流形维数足够低，那么数据可以在低维空间中被可视化。

相关的线性分解的方法

非线性降维的应用 

考虑以矩阵（或数据库）表示的数据集，其中每行都代表描述某物特定实例的一组属性（或特征）。如果属性的数量很大，那么可行行空间的增长速度是指数级的（例如有个属性，每个属性均具有种可能的选择，则所有可能的属性为）。维度越大，对空间进行采样就越困难。这导致了处理高维数据的算法时间复杂性非常高。许多机器学习算法在处理高维数据时很吃力，而将数据缩降维会使算法更有效率，并能帮助机器学习算法做出更准确的预测。

人类往往难以理解高维数据。因此将数据减进行降维对于可视化非常有用。

数据的降维表示通常被称为 "内在变量"，即它们是数据产生的价值。例如，考虑一个包含字母 "A" 经过缩放和旋转的图像的数据集，每张图片有32×32像素，可以表示为长度为1024的向量。每一行都是1024维的空间（）中，二维流形上的一个样本。由于数据仅通过缩放和旋转得到，所以本质维度是2；而字母 "A" 的形状或外观则不是内在变量（因为数据集中所有元素该特征均相同）。非线性降维将抛弃相关的信息（字母 "A"），只保留变化的信息（缩放和旋转）。右图展示了该数据集的部分样本，及通过使用非线性降维算法（Manifold Sculpting）将数据降到二维的结果散点图。

作为对比，右图使用线性降维算法PCA（主成分分析），将同样的数据集降为二维，可以发现结果并没有采用非线性降维算法好。这表明从该流形上采样得到的高维向量以一种非线性的方式变化。

非线性降维在计算机视觉领域有所应用。例如一个使用相机在封闭的静态环境中导航的机器人，相机得到的图像可以视为从高维空间流形采样得到的样本，该流形的内在变量代表机器人的位置和朝向。

下面列举了一些非线性降维算法。

流形学习算法

Sammon映射

自组织映射

主曲线和流形

自编码器 

自编码器是一个前馈神经网络，其训练目标为恒等映射，即从一个向量映射到同一个向量。用于降维时，其部分隐藏层只包含少量神经元。此时，网络必须学会用较少的维度编码向量，并同时能将将其解码。因此，网络的前半部分（编码器，Encoder）从高维空间映射到低维空间，后半部分（解码器，Decoder）从低维空间映射到高维空间。

高斯过程潜变量模型

曲线成分分析

曲线距离分析

微分同胚降维

核方法的主成分分析 

核主成分分析（Kernel Principal Component Analysis，KPCA）是最常用的降维算法之一。PCA首先计算矩阵的协方差矩阵：

 

然后将数据投影到协方差矩阵的前k个特征向量上。而KPCA首先将数据变换到更高维的空间，然后计算变换后数据的的协方差矩阵：

 

然后和PCA一样，将数据投影到协方差矩阵的前k个特征向量上。该方法使用了来避免大量的运算，整个过程可以在没有实际计算的情况下执行（当然，必须被选择）。不幸的是，为特定问题选择一个合适的核函数并不容易，在使用普通核函数时，KPCA的表现不一定好；例如在瑞士卷流形（Swiss roll manifold）上的表现不佳。有部分方法通过构造依赖于数据的核矩阵达成较好的表现（例如 Laplacian Eigenmaps），该类方法可以看作KPCA的特殊情况。

KPCA有一个内部模型，因此它可以用来将不在训练集中的点映射到嵌入。

等距特征映射

局部线性嵌入

拉普拉斯特征映射

流形对齐

散射映射

Hessian局部线性映射

局部线性嵌入·改

关系透视图

局部切空间对齐

局部多维标度

最大方差展开

非线性PCA

数据驱动的高维缩放

Manifold sculpting

t-distributed stochastic neighbor embedding

RankVisu

Topologically constrained isometric embedding

基于距离矩阵的方法

参见 
 Discriminant analysis
 Elastic map
 Feature learning
 Growing self-organizing map (GSOM)
 Pairwise distance methods
 Self-organizing map (SOM)

引用

外部链接 
 Isomap
 Generative Topographic Mapping
 Mike Tipping's Thesis 
 Gaussian Process Latent Variable Model
 Locally Linear Embedding 
 Relational Perspective Map 
 Waffles  is an open source C++ library containing implementations of LLE, Manifold Sculpting, and some other manifold learning algorithms.
 Efficient Dimensionality Reduction Toolkit homepage
 DD-HDS homepage
 RankVisu homepage
 Short review of Diffusion Maps
 Nonlinear PCA by autoencoder neural networks 
維度
多變量統計