目录
数据降维会丢失一些信息(好比压缩图像带来的效果一样),所以,它虽然能够加速训练,但是也会轻微降低系统性能。
我们简要说一下降维的两种主要方法:投影和流形学习。投影:高维空间的所有训练实例实际上受一个低得多的低维子空间所影响,将训练实例投影到该子空间就是投影。但许多情况下,子空间可能是弯曲的或转动的,就引入了流形学习。流形假设(流形假说)认为大多数现实世界的高维度数据集存在一个低维度的流形来重新表示。我们可以把瑞士卷看做一个二维流形的例子。更概括的说,d维流形就是n维空间的一部分(d 主成分分析(PCA)是迄今最流行的降维算法。它能识别出最接近数据的超平面,然后将数据投影该平面。同时该超平面也保留了数据最大差异性。 常规模块的导入以及图像可视化的设置: 主成分分析(PCA)可以在训练集中识别出哪条轴(一维超平面)对差异性的贡献度最高。即下图中由实线表示的轴。同时它也找出了第二条轴,它对剩余差异性的贡献度最高,与第一条轴垂直。 定义第i条轴的单位向量就叫作第i个主成分。上图中,第一个主成分是c1,第二个主成分是c2。前两个主成分是平面里正交的箭头所示,第三个主成分则垂直于平面。 那么我们该怎么找到训练集的主成分呢?我们有一种标准矩阵分解技术,叫作奇异值分解(SVD)。它可以将训练集矩阵X分解成三个矩阵的点积 ,其中 正包含我们想要的所有主成分,公式如下: 下面的代码使用NumPy的svd()函数来获取训练集中所有主成分,并提取前两个:1 主成分