PCA主成分分析法
主成分分析(PCA)是迄今为止最流行的降维算法。首先,它识别最靠近数据的超平面,然后将数据投影到其上。将训练集投影到低维超平面之前需要选择正确的超平面。
在实线上的投影保留了最大的差异性,而点线上的投影只保留了非常小的差异性,虚线上的投影的差异性居中
PCA保留差异性:
选择保留最大差异性的轴看起来比较合理,因为它可能比其他两种投影丢失的信息更少。 PCA背后的简单思想:比较原始数据集与其轴上的投影之间的均方距离,使这个均方距离最小的轴是最合理的选择,也就是实线代表的轴。
主成分分析可以在训练集中识别出哪条轴对差异性的贡献度最高。同时它也找出了第二条轴,与第一条轴垂直,它对剩余差异性的贡献度最高。
向下投影到低维度:
一旦确定了所有主要成分,你就可以将数据集投影到前d个主要成分定义的超平面上,从而将数据集的维度降低到d维。选择这个超平面可确保投影将保留尽可能多的差异性。要将训练集投影到超平面上并得到维度为d的简化数据集Xd-proj,计算训练集矩阵X与矩阵Wd的矩阵相乘,矩阵Wd定义为包含V的前d列的矩阵。
选择正确的维度:
有用的信息是每个主成分的可解释方差比,可以通过explained_variance_ratio_变量来获得。该比率表示沿每个成分的数据集方差的比。
数据集方差的75.8%位于第一个PC上,而15.2%位于第二个PC上;降维到2D,丢失9%的方差。将可解释方差绘制成维度的函数。曲线上通常会出现一个拐点,其中可解释方差会停止快速增大。
将可解释方差绘制成维度的函数。曲线上通常会出现一个拐点,其中可解释方差会停止快速增大。
PCA压缩:
与其任意选择要减小到的维度,不如选择相加足够大的方差部分(例如95%)的维度。
将PCA应用于MNIST数据集,同时保留其95%的方差。每个实例将具有150多个特征,而不是原始的784个特征。
保留了大多数方差,但数据集现在不到其原始大小的20%。通过应用PCA投影的逆变换,还可以将缩减后的数据集解压缩回784维。
由于投影会丢失一些信息(在5%的方差被丢弃),数据可能会接近原始数据。
内核PCA
核函数:将实例隐式映射到一个高维空间(称为特征空间)高维特征空间中的线性决策边界对应于原始空间中的复杂非线性决策边界。可以将相同的技术应用于PCA,从而可以执行复杂的非线性投影来降低维度。这叫作内核PCA(kPCA)