从感性升华到理性看待pca原理


pca即主成分分析,常用来做数据降维。当我们有上千维数据的时候,我们希望对数据维度进行压缩,使得最后既保留绝大部分原始数据信息,又能降低数据维度,鱼和熊掌兼得。

感性认识:

其实,我们所说的数据信息就是数据间的差异。差异越大,所保留的信息就越丰富,区分度就越大,在数学表达上即为方差。也就是我们后续公式推导中,使方差最大化最终就能保留更多的信息。

pca原理--从感性认识升华到理性分析

如上图所示二维图像坐标,图中的蓝色点当然可以用二维坐标点进行区分,但是我们找到一个方差最大的方向,如图中红色箭头的方向,将各点映射到红色箭头方向,我们就可以用一维坐标表示这几个点,且可以保留很大的区分度。红色箭头这是理想情况下的一个方向,我们也可以取多个方向上的投影,尽可能多的保留信息。

理性推导:

还是以上述二维图像为例:假设上述各点用 x ⃗ i \vec x_i x i(行向量)表示,首先要将数据中心化,为的是后续方便计算协方差。则中心点坐标为 x ˉ \bar {x} xˉ= ∑ i n x ⃗ i n \frac{\sum_{i}^{n}\vec x_i}{n} ninx i,中心化后的坐标为 X ⃗ i \vec X_i X i= x ⃗ i − x ˉ \vec x_i-\bar x x ixˉ。如下图所示,其中红色箭头 v ⃗ \vec v v 表示假设的方差最大方向。

pca原理--从感性认识升华到理性分析

考虑中心化后的数据点在 v ⃗ \vec v v 方向上的方差(其中 v ⃗ \vec v v 为单位列向量):
σ = ∑ i n ( X ⃗ i ⋅ v ⃗ − ∑ i n X ⃗ ⋅ v ⃗ n ) 2 n \sigma=\frac{\sum_{i}^{n}{(\vec X_i\cdot\vec v-\frac{\sum_{i}^{n}\vec X \cdot\vec v}{n}})^2}{n} σ=nin(X iv ninX v )2
而在经过数据中心化之后, ∑ i n X ⃗ ⋅ v ⃗ n \frac{\sum_{i}^{n}\vec X \cdot\vec v}{n} ninX v =0,因此,方差 σ = ∑ i n [ ( X ⃗ i ⋅ v ⃗ ) T ( X ⃗ i ⋅ v ⃗ ) ] n = v ⃗ T ( ∑ i n X ⃗ i T X ⃗ i n ) v ⃗ \sigma=\frac{\sum_{i}^{n}[(\vec X_i\cdot\vec v)^T(\vec X_i \cdot \vec v)]}{n}=\vec v^T(\frac{\sum_{i}^{n}\vec X_i^T\vec X_i}{n})\vec v σ=nin[(X iv )T(X iv )]=v T(ninX iTX i)v
其中, v ⃗ T v ⃗ = 1 \vec v^T \vec v=1 v Tv =1
可以看到, ( ∑ i n X ⃗ i T X ⃗ i n ) (\frac{\sum_{i}^{n}\vec X_i^T\vec X_i}{n}) (ninX iTX i)就是协方差矩阵,记为 Σ \Sigma Σ

下面就是开始求解条件极值问题了,一般采用拉格朗日乘子法求解:
L = v ⃗ T Σ v ⃗ + λ ( 1 − v ⃗ T v ⃗ ) L = {\vec v^T}\Sigma \vec v + \lambda (1 - {\vec v^T}\vec v) L=v TΣv +λ(1v Tv ),则 ∂ L ∂ v ⃗ = 2 Σ v ⃗ − 2 λ v ⃗ \frac{{\partial L}}{{\partial \vec v}} = 2\Sigma \vec v - 2\lambda \vec v v L=2Σv 2λv ,令 ∂ L ∂ v ⃗ = 0 \frac{{\partial L}}{{\partial \vec v}} =0 v L=0,则有 Σ v ⃗ = λ v ⃗ \Sigma \vec v = \lambda \vec v Σv =λv ,因此, v ⃗ \vec v v Σ \Sigma Σ得特征向量,又因为 v ⃗ T Σ v ⃗ = v ⃗ T λ v ⃗ = λ {\vec v^T}\Sigma \vec v = {\vec v^T}\lambda \vec v = \lambda v TΣv =v Tλv =λ,由此看出,方差就是对应的特征值。选取最大特征值对应得特征向量组成转换矩阵,与原始数据矩阵相乘,即可得到降维后得数据。

代码部分后续奉上。

相关文章:

  • 2021-06-03
  • 2021-10-03
  • 2021-10-22
  • 2021-06-11
  • 2022-01-20
  • 2022-12-23
  • 2021-08-01
猜你喜欢
  • 2022-02-03
  • 2021-08-21
  • 2021-05-16
  • 2022-01-08
  • 2021-07-17
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案