PCA 主成分分析 KPCA

文章目录

      • 主成分分析 PCA
        • 1. 结论
          • 1. 单位向量的投影表示:
          • 2. 散布(协方差)矩阵
        • 2. PCA算法推导思想
        • 3. 散布矩阵(协方差矩阵)
        • 4. PCA理论推导 -----最大化投影方差法
        • 5. 为什么是最大特征值对应的特征向量?
        • 矩阵乘法的意义
        • 6. 主成分
        • 7.核主成分分析 KPCA
        • 8.PCA算法流程
        • 9.PCA实例
      • 10 .PCA算法总结
        • 11. PCA代码和应用

主成分分析 PCA

1. 结论

1. 单位向量的投影表示:

向量 x单位向量 e 上的投影长度值 e T x e^{T }x eTx,投影向量可以表示 e T x e e^T x e eTxe
所以求向量 a 在另一个向量 b 的投影值可以先求向量 b 的单位向量。(画图列出cos公式: **a . e ** = |a| |e| cos = |a|cos ,即为投影长度值。)

2. 散布(协方差)矩阵

S = ∑ i m ( x i − m ) ( x i − m ) t S = \sum_{i}^{m} (x_i-m) (x_i-m)^t S=im(xim)(xim)t,数据处理中,先把数据变成均值为 0 的数据分布,此时 S = ∑ i m x i x i t S = \sum_{i}^{m} x_i x_i^t S=imxixit,注意这是一个矩阵。 x i x_i xi是一个列向量,若 X = ( x 1 , x 2 , . . . , x m ) X = (x_1,x_2,...,x_m) X=x1,x2,...,xm),则协方差矩阵S可以表示成为 S = X X t = ∑ i m x i x i t S =XX^t = \sum_{i}^{m} x_i x_i^t S=XXt=imxixit

2. PCA算法推导思想

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

PCA 主成分分析 KPCA_第1张图片

找到最优方向 u 1 u1 u1 可以有两个思路:

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

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

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

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

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

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

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

由结论1,对于任意一个样本 x i x_{i} xi,在新的坐标系 W W W中的投影 W T x i W^Tx_{i} WTxi,在新坐标系中的投影方差 W T x i x i T W W^Tx_{i}x_{i}^TW WTxixiTW ,则总的为 ∑ i = 1 m W T x i x i T W \sum\limits_{i=1}^{m}W^Tx_{i}x_{i}^TW i=1mWTxixiTW ,那么要使所有的样本的投影方差和最大注意到投影方差为常数,因此也就是最大化 ∑ = ∑ i = 1 m W T x i x i T W \sum = \sum\limits_{i=1}^{m}W^Tx_{i}x_{i}^TW =i=1mWTxixiTW 的迹

注:

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

则 最优化问题为:

a r g    m a x ⎵ W    t r ( W T X X T W )        s . t . W T W = I \underbrace{arg\;max}_{W}\;tr( W^TXX^TW) \;\;\; s.t. W^TW=I W argmaxtr(WTXXTW)s.t.WTW=I
其中, X X T XX^T XXT 即为协方差矩阵 .

对拉格朗日函数对W对导并置为0,且W^TW=I,得到
X X t W = λ W XX^t W = \lambda W XXtW=λW
这刚好是矩阵的特征值和特征向量的定义形式,最优解系w刚好是散步矩阵 X X T XX^T XXT的特征向量,问题转为求样本协方差矩阵的特征向量

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

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

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

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

矩阵乘法的意义

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

6. 主成分

通常经过特征向量变换下的数据被称为变量的主成分。最大特征值对应第一主成分 X = ∑ w i T x w i X = \sum w_i^{T}xw_i X=wiTxwi, w i w_i wi 之间相互正交。

7.核主成分分析 KPCA

主要参考 主成分分析(PCA)原理总结。

有些时候,数据不是线性的,不能直接进行PCA降维。这里就需要用到和支持向量机一样的核函数的思想,先把数据集从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 的用法

你可能感兴趣的:(机器学习笔记)