主成分分析 PCA
1. 结论1. 向量的投影表示:
向量 x 在单位向量 e 上的投影长度值 ,投影向量可以表示 。
所以求向量 a 在另一个向量 b 的投影值可以先求向量 b 的单位向量。(画图列出cos公式,求单位向量公式可理解)
2. PCA算法推导思想
PCA算法将寻找数据里最主要的方面来代替原始数据,从而实现降维。具体地,就是寻找一个最优的坐标系(投影方向),原始数据往这个坐标系投影后实现降维并保留大部分信息。
以下图的二维数据为例子, 和 两个坐标系都可以完成2维到1维的数据映射, 但是可以看出 是数据变化的主方向,选用 可以保留更多的数据成分,因此 为比 更优的投影方向。
找到最优方向 可以有两个思路:
- 样本点到投影平面的距离足够近(最小化投影距离法)
- 样本点在这个直线上的投影能尽可能的分开(最大化总投影方差)。
3. 散布矩阵(协方差矩阵)
散布矩阵的形式为:
若原始数据集经过中心化的,均值为0。则散布矩阵(协方差矩阵)为 。
注意: 当正交时,可以注意到协方差矩阵 的特点:除了主对角线外,其余值都为0,而且 的迹就是数据的总方差。
4. PCA理论推导 -----最大化投影方差法
参考 主成分分析(PCA)原理总结,很详细。
这种推导比较简单直接,简单说下思想:
由结论1,对于任意一个样本 ,在新的坐标系 中的投影为 ,在新坐标系中的投影方差为 ,则投影后的新数据的协方差矩阵为 ,那么要使所有的样本的投影方差和最大,也就是最大化 协方差矩阵 的迹。
注:
- 的每一个向量是标准正交基:模为1,且正交。
- 投影前的数据是经过中心化的,均值为0。
则 最优化问题为:
其中, 即为协方差矩阵 .
对拉格朗日函数对W对导并置为0,得到
这刚好是矩阵的特征值和特征向量的定义形式,最优解系w刚好是的特征向量,问题转为求样本协方差矩阵的特征向量。
5. 为什么是最大特征值对应的特征向量?
由
为了最大化 ,选取最大的特征值 。
有了上面的数学推导,可以知道:
- 特征值对应的特征向量就是理想中想取得正确的坐标轴,而特征值就等于数据在旋转之后的坐标上对应维度上的方差。
- 所以,在数据挖掘中,就会直接用特征值来描述对应特征向量方向上包含的信息量,而某一特征值除以所有特征值的和的值就为:该特征向量的方差贡献率(方差贡献率代表了该维度下蕴含的信息量的比例)。
矩阵乘法的意义
- 矩阵乘法的意义:引用《线性代数的几何意义》的描述:“矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值。
6. 主成分
通常经过特征向量变换下的数据被称为变量的主成分。最大特征值对应第一主成分。
7.核主成分分析 KPCA
主要参考 主成分分析(PCA)原理总结。
有些时候,数据不是线性的,不能直接进行PCA降维。这里就需要用到和支持向量机一样的核函数的思想,先把数据集从n维映射到线性可分的高维N>n,然后再从N维降维到一个低维度n’, 这里的维度之间满足n’<n<N。
8.PCA算法流程
参考 主成分分析(PCA)原理总结。
9.PCA实例
参考 主成分分析(PCA)原理总结。
10 .PCA算法总结
参考 主成分分析(PCA)原理总结。
PCA算法的主要优点有:
1)仅仅需要以方差衡量信息量,不受数据集以外的因素影响。
2)各主成分之间正交,可消除原始数据成分间的相互影响的因素。
3)计算方法简单,主要运算是特征值分解,易于实现。
PCA算法的主要缺点有:
1)主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。
2)方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。
11. PCA代码和应用
- 数据进行压缩,去噪。
scikit learn 中pca 的用法