降维
简而言之,2D流形就是可以在更高维度的空间中弯曲和扭曲的2D形状。更一般而言,d维流形是n维空间(d<n)的一部分,局部类似于d维超平面。
许多降维算法通过对训练实例所在的流形进行建模来工作,这称为流形学习。
PCA识别最靠近数据的超平面,然后将数据投影到其上。将训练集投影到低维超平面之前需要选择正确的超平面。投影到几个轴选择保留看起来差异性大的轴比较合理。
还可以比较原始数据集与其轴上的投影之间的均方距离,使这个均方距离最小的轴是最合理的选择。
- 可以在训练集中识别出哪条轴对差异性的贡献度最高。
- 第i个轴称为数据的第i个主要成分(PC)。
-
如何找到训练集的主要成分呢?
有一种称为奇异值分解(SVD)的矩阵分解技术,可以将训练集矩阵X分解为三个矩阵UΣV^T的矩阵乘法,其中V包含定义所有主要成分的单位向量。 -
要将数据集投影到超平面上并得到维度为d的简化数据集Xd-proj,计算训练集矩阵X与矩阵Wd的矩阵相乘,Wd定义为包含V的前d列的矩阵。
PCA压缩
通过应用PCA投影的逆变换,还可以将缩减后的数据集解压缩回原数据集维数,由于缩小会丢失一些信息,因此与原始数据有差异,将原始数据与重构数据(压缩再解压缩)之间的均方距离称为重构误差。
增量PCA(IPCA)
前面的PCA实现的一个问题是,它们要求整个训练集都放入内存才能运行算法。
- IPCA可以把训练集划分为多个小批量,并一次将一个小批量送入IPCA。
- 对于大型训练集和在线应用PCA很有用。
内核PCA
在SVM章节,讨论了内核,这是一种数学技术,可以将实例隐式映射到一个高维空间(特征空间),从而可以使用支持向量机来进行非线性分类和回归。回想一下,高维特征空间中的线性决策边界对应于原始空间中的复杂非线性决策边界。
将相同的技术应用于PCA,从而可以执行复杂的非线性投影来降低维度,称为内核PCA。
它通常擅长在投影后保留实例的聚类,有时甚至可以展开位于扭曲流行附近的数据集。
LLE
局部线性嵌入(LLE)是一种强大的非线性降维技术。是一种流形学习技术,不像PCA依赖于投影。
LLE工作原理是首先测量每个训练实例如何与其最近的邻居线性相关,然后寻找可以最好地保留这些局部关系的训练集的低维表示形式。
适合于展开扭曲的流形,尤其是没太多噪音的情况。
其它降维技术:
随即投影
多维缩放
Isomap
t分布随机近邻嵌入
线性判别分析
维度的诅咒:指在低维空间中不存在的问题,在高维空间中发生。
减少数据集维度的主要动机:
1. 为了加速后续的训练算法(如消除噪音和冗余特征)
2. 为了数据可视化,观察数据,了解最重要的特征
3. 为了节省空间
主要弊端:
1. 丢失部分信息,可能使后续算法性能降低
2. 可能是计算密集型的
3. 为机器学习流水线增添了些许复杂度
4. 转换后的特征往往难以解释