3.3.2 数据降维
目前大量数据具有高达数十维的特征,而人眼只能理解三维的数据,这给数据可视化带来了极大的困难。因此,在数据可视化的过程中,需要先对数据进行降维。数据降维,又称为维数约简。顾名思义,就是降低数据的维度,使我们可以更好地认识和理解数据。
通过数据维度变换进行降维是非常重要的降维方法,如图3.10所示,这种降维方法分为线性降维和非线性降维两种,其中常用的代表算法包括主成分分析(PCA)、线性判别分析(LDA)、核主成分分析(Kernel PCA)等。

图3.10 常用的数据降维方法
在线性方法中,principal component analysis(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。
通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息(如点和点之间的距离关系)都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。可以证明,PCA是丢失原始数据信息最少的一种线性降维方法。
PCA追求的是在降维之后能够最大化保持数据的内在信息,并通过衡量在投影方向上的数据方差的大小来衡量该方向的重要性。但是这样投影以后对数据的区分作用并不大,反而可能使得数据点揉杂在一起无法区分。这也是PCA存在的最大一个问题,这导致使用PCA在很多情况下的分类效果并不好。具体如图3.11所示,若使用PCA将数据点投影至一维空间上时,PCA会选择2轴,这使得原本很容易区分的两簇点被揉杂在一起变得无法区分;而这时若选择1轴将会得到很好的区分结果。
(https://www.daowen.com)
图3.11 PCA降维示例
非线性方法中,locally linear embedding(LLE)能够使降维后的数据较好地保持原有流形结构。如图3.12所示,使用LLE将三维数据(b)映射到二维(c)之后,映射后的数据仍能保持原有的数据流形(椭圆区域的点互相接近,矩形区域的点也互相接近),说明LLE有效地保持了数据原有的流行结构。

图3.12 LLE降维示例
LLE算法认为每一个数据点都可以由其近邻点的线性加权组合构造得到。算法的主要步骤分为三步:(1)寻找每个样本点的k个近邻点;(2)由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;(3)由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值,具体的算法流程如图3.13所示。

图3.13 LLE算法实现步骤
LLE是广泛使用的图形图像降维方法,它实现简单,但是对数据的流形分布特征有严格的要求。比如不能是闭合流形,不能是稀疏的数据集,不能是分布不均匀的数据集等,这限制了它的应用。