主成分分析 PCA

1. 结论1. 向量的投影表示:

向量 x单位向量 e 上的投影长度值 eTxe^{T }x,投影向量可以表示 eTxee^T x e
所以求向量 a 在另一个向量 b 的投影值可以先求向量 b 的单位向量。(画图列出cos公式,求单位向量公式可理解)

2. PCA算法推导思想

PCA算法将寻找数据里最主要的方面来代替原始数据,从而实现降维。具体地,就是寻找一个最优的坐标系(投影方向),原始数据往这个坐标系投影后实现降维并保留大部分信息。
以下图的二维数据为例子, u1\textstyle u_1u2\textstyle u_2两个坐标系都可以完成2维到1维的数据映射, 但是可以看出 u1\textstyle u_1 是数据变化的主方向,选用 u1u1 可以保留更多的数据成分,因此 u1u1 为比 u2u2 更优的投影方向。

PCA 主成分分析 KPCA

找到最优方向 u1u1 可以有两个思路:

  • 样本点到投影平面的距离足够近(最小化投影距离法)
  • 样本点在这个直线上的投影能尽可能的分开(最大化总投影方差)。

3. 散布矩阵(协方差矩阵)

散布矩阵的形式为: S=i=1m(xim)(xim)TS = \sum\limits_{i=1}^{m}(x_{i}-m)(x_{i}-m)^{T}
若原始数据集经过中心化的,均值为0。则散布矩阵(协方差矩阵)为 =i=1m(xi)(xi)T\sum = \sum\limits_{i=1}^{m}(x_{i})(x_{i})^{T}

注意: 当xixjx_{i}和x_{j}正交时,可以注意到协方差矩阵 \sum 的特点:除了主对角线外,其余值都为0,而且 \sum 的迹就是数据的总方差。

4. PCA理论推导 -----最大化投影方差法

参考 主成分分析(PCA)原理总结,很详细。

这种推导比较简单直接,简单说下思想:

由结论1,对于任意一个样本 xix_{i},在新的坐标系 WW中的投影WTxiW^Tx_{i},在新坐标系中的投影方差WTxixiTWW^Tx_{i}x_{i}^TW ,则投影后的新数据的协方差矩阵为 =i=1mWTxixiTW\sum = \sum\limits_{i=1}^{m}W^Tx_{i}x_{i}^TW ,那么要使所有的样本的投影方差和最大,也就是最大化 协方差矩阵 \sum 的迹

注:

  • WW的每一个向量wjw_j是标准正交基:模为1,且正交。
  • 投影前的数据是经过中心化的,均值为0。

则 最优化问题为:

arg  maxW  tr(WTXXTW)      s.t.WTW=I \underbrace{arg\;max}_{W}\;tr( W^TXX^TW) \;\;\; s.t. W^TW=I
其中, XXTXX^T 即为协方差矩阵 \sum.

对拉格朗日函数对W对导并置为0,得到
W=λW\sum W = \lambda W
这刚好是矩阵的特征值和特征向量的定义形式,最优解系w刚好是\sum的特征向量,问题转为求样本协方差矩阵的特征向量

5. 为什么是最大特征值对应的特征向量?

WTW=λW^T\sum W = \lambda
为了最大化 WTWW^T\sum W选取最大的特征值 λ\lambda

有了上面的数学推导,可以知道:

  • 特征值对应的特征向量就是理想中想取得正确的坐标轴,而特征值就等于数据在旋转之后的坐标上对应维度上的方差
  • 所以,在数据挖掘中,就会直接用特征值来描述对应特征向量方向上包含的信息量,而某一特征值除以所有特征值的和的值就为:该特征向量的方差贡献率(方差贡献率代表了该维度下蕴含的信息量的比例)。

矩阵乘法的意义

  • 矩阵乘法的意义:引用《线性代数的几何意义》的描述:“矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值。

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代码和应用

相关文章: