100天搞定机器学习|Day59 主成分分析(PCA)原理及使用详解

方差:用来衡量随机变量与其数学期望(均值)之间的偏离程度。统计中的方差(样本方差)是各个数据分别与其平均数之差的平方的和的平均数。
$$Var(X)=\frac{1}{n}\sum(x_i-μ)^2$$
协方差:度量两个随机变量关系的统计量,协方差为0的两个随机变量是不相关的。
$$cov(X,Y)=\frac{\sum(Xi-\overline{X})(Y_i-\overline{Y})}{(n-1)}$$
协方差矩阵:在统计学与概率论中,协方差矩阵的每个元素是各个向量元素之间的协方差。特殊的,矩阵对角线上的元素分别是向量的方差。
$$C=\left[ \begin{array} { c c c c } { cov(x,x) } & { cov(x,y) } & { cov(x,z) } \ { cov(y,x) } & { cov(y,y) } & { cov(y,z) } \{ cov(z,x) } & { cov(z,y) } & { cov(z,z) } \end{array} \right]$$

PCA原理

主成分分析法(Principal Component Analysis)是一种基于变量协方差矩阵对数据进行压缩降维、去噪的有效方法,它借助正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分(PC),主成分是旧特征的线性组合。

PCA的本质就是找一些投影方向,使得数据在这些投影方向上的方差最大,而且这些投影方向是相互正交的。这其实就是找新的正交基的过程,计算原始数据在这些正交基上投影的方差,方差越大,就说明在对应正交基上包含了更多的信息量。如下图,第一个 PC 为 c1 所在的轴,第二个PC 为 c2 所在的轴,第三个 PC 为与平面正交的轴。我们仅保留一定数量的主成分来解释原始数据集的方差,而忽略其余部分。

100天搞定机器学习|Day59 主成分分析(PCA)原理及使用详解

PCA常用于高维数据的降维、数据噪音消除、图像压缩、特征脸等等。

图像压缩

PCA公式推导

1.假设$x$为$m$ 维随机变量,其均值为$\mu$,协方差矩阵为$\Sigma$。

考虑由$m$维随机变量$x$到$m$维随机变量$y$的线性变换
$$y _ { i } = \alpha _ { i } ^ { T } x = \sum _ { k = 1 } ^ { m } \alpha _ { k i } x _ { k } , \quad i = 1,2 , \cdots , m$$

其中$\alpha _ { i } ^ { T } = ( \alpha _ { 1 i } , \alpha _ { 2 i } , \cdots , \alpha _ { m i } )$。

如果该线性变换满足以下条件,则称之为总体主成分:

(1)$\alpha _ { i } ^ { T } \alpha _ { i } = 1 , i = 1,2 , \cdots , m$;

(2)$\operatorname { cov } ( y _ { i } , y _ { j } ) = 0 ( i \neq j )$;

(3)变量$y_1$是$x$的所有线性变换中方差最大的;$y_2$是与$y_1$不相关的$x$的所有线性变换中方差最大的;一般地,$y_i$是与$y _ { 1 } , y _ { 2 } , \cdots , y _ { i - 1 } , ( i = 1,2 , \cdots , m )$都不相关的$x$的所有线性变换中方差最大的;这时分别称$y _ { 1 } , y _ { 2 } , \cdots , y _ { m }$为$x$的第一主成分、第二主成分、…、第$m$主成分。

假设$x$是$m$维随机变量,其协方差矩阵是$\Sigma$,$\Sigma$的特征值分别是$\lambda _ { 1 } \geq\lambda _ { 2 } \geq \cdots \geq \lambda _ { m } \geq 0$,特征值对应的单位特征向量分别是$\alpha _ { 1 } , \alpha _ { 2 } , \cdots , \alpha _ { m }$,则$x$的第2主成分可以写作

$$y _ { i } = \alpha _ { i } ^ { T } x = \sum _ { k = 1 } ^ { m } \alpha _ { k i } x _ { k } , \quad i = 1,2 , \cdots , m$$
并且,$x$的第$i$主成分的方差是协方差矩阵$\Sigma$的第$i$个特征值,即$$\operatorname { var } ( y _ { i } ) = \alpha _ { i } ^ { T } \Sigma \alpha _ { i } = \lambda _ { i }$$

3.主成分有以下性质:

主成分$y$的协方差矩阵是对角矩阵$$\operatorname { cov } ( y ) = \Lambda = \operatorname { diag } ( \lambda _ { 1 } , \lambda _ { 2 } , \cdots , \lambda _ { m } )$$

主成分$y$的方差之和等于随机变量$x$的方差之和
$$\sum _ { i = 1 } ^ { m } \lambda _ { i } = \sum _ { i = 1 } ^ { m } \sigma _ { i i }$$
其中$\sigma _ { i i }$是$x_2$的方差,即协方差矩阵$\Sigma$的对角线元素。

主成分$y_k$与变量$x_2$的相关系数$\rho ( y _ { k } , x _ { i } )$称为因子负荷量(factor loading),它表示第$k$个主成分$y_k$与变量$x$的相关关系,即$y_k$对$x$的贡献程度。
$$\rho ( y _ { k } , x _ { i } ) = \frac { \sqrt { \lambda _ { k } } \alpha _ { i k } } { \sqrt { \sigma _ { i i } } } , \quad k , i = 1,2 , \cdots , m$$

4.样本主成分分析就是基于样本协方差矩阵的主成分分析。

给定样本矩阵
$$X = \left[ \begin{array} { l l l l } { x _ { 1 } } & { x _ { 2 } } & { \cdots } & { x _ { n } } \end{array} \right] = \left[ \begin{array} { c c c c } { x _ { 11 } } & { x _ { 12 } } & { \cdots } & { x _ { 1 n } } \ { x _ { 21 } } & { x _ { 22 } } & { \cdots } & { x _ { 2 n } } \ { \vdots } & { \vdots } & { } & { \vdots } \ { x _ { m 1 } } & { x _ { m 2 } } & { \cdots } & { x _ { m n } } \end{array} \right]$$

其中$x _ { j } = ( x _ { 1 j } , x _ { 2 j } , \cdots , x _ { m j } ) ^ { T }$是$x$的第$j$个独立观测样本,$j=1,2,…,n$。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfyzx.html