PCA - 主成分分析法

Posted by RAIS on 2021-01-18

前言

什么叫做主成分分析法,我们先看一张图椭圆的图,如果让你找一条线,使得椭圆上所有点在该线上映射的点最分散,保留下来的信息最多,你会怎么选择这条线?若是下图,会选择水平线,这是用一维的方式去尽可能多的表示二维的数据,那么多维的数据呢,是否可以用较低维的数据尽可能表示。

m17

如何用二维的平面去尽可能表示一个椭球面呢?

m17

思想

主成分分析法是一种统计方式,简化数据的方式,是一种线性变换,把数据变换到新的坐标系中,使得任意投影的第一大方差映射到第一主成分上,第二大方差映射到第二主成分上。如果舍弃高维的主成分,一般可以达到保留对方差贡献最大的特征,在一些方面上,可以保留数据的主要特征,当然,为了数据更好看,我们会把坐标轴的中心移到数据的中心,这可以让数据处理起来更方便。

高斯分布

在数学上

在数学上,我们用 $L^2$ 范数的平方($L^2$范数的平方与其本身在相同位置取得最小值,单调递增,性质更好)来计算,x 为输入,$c^*$ 为最优编码:

$$
c^*=(L^2)^2=argmin_c||x-g©||_2^2
\\
=(x-g©)^T(x-g©)
\\
=x^Tx-2x^Tg©+g©^Tg©
\\
=argmin_c-2x^TDc+c^TI_lc
\\
(其中c=f(x),g©=Dc)
\\
\therefore\nabla_c(-2x^TDc+c^Tc)=0
\\
c=f(x)=D^Tx
$$

由上可知,若要得到c只需要一个矩阵乘法。定义重构操作:

$$
r(x)=g(f(x))=DD^Tx
\\
D^*=argmin_D\sqrt{\sum_{i,j}(x_j^{(i)}-r(x^{(i)})_j)^2}
\\ 其中D^TD=I_l
$$

经过复杂的 推导,用数学归纳法可以证明,矩阵 D 可以由前 $X^TX$ 的前 $l$ 个最大的特征值对应的特征向量组成。

总结

主成分分析法主要用于数据降维,目标为尽量减少原数据的损失的情况下,尽可能减少数据量。