PCA均方误差(MSE)最小化和方差最大化的推导

部分参考[https://zhuanlan.zhihu.com/p/77151308],结合自己的一些理解和统计学习方法,补充了一些推导过程)

一、方差的定义



V a r ( x ) = 1 m ∑ i = 1 m ( x i − μ ) 2 \begin{aligned} Var(x)=\frac{1}{m}\sum_{i=1}^m{(x_i-\mu)^2} \\ \end{aligned} Var(x)=m1i=1m(xiμ)2
去除均值,方便计算

x ← x − E [ x ] x\leftarrow x-E[x] xxE[x]

为了方便处理,我们将每个变量的均值都化为 0 ,因此方差可以直接用每个元素的平方和除以元素个数表示
V a r ( x ) = 1 m ∑ i = 1 m ( x i ) 2 \begin{aligned} Var(x)=\frac{1}{m}\sum_{i=1}^m{(x_i)^2} \end{aligned} Var(x)=m1i=1m(xi)2

二、协方差的定义

C o v ( x , y ) = 1 m ∑ i = 1 m ( x i − μ x ) ( y i − μ y ) \begin{aligned} Cov(x,y)=\frac{1}{m}\sum_{i=1}^m{(x_i-\mu_x)(y_i-\mu_y)} \\ \end{aligned} Cov(x,y)=m1i=1m(xiμx)(yiμy)

由于均值为 0,所以我们的协方差公式可以表示为:
C o v ( x , y ) = 1 m ∑ i = 1 m x i y i Cov(x,y)=\frac{1}{m}\sum_{i=1}^m{x_iy_i} \\ Cov(x,y)=m1i=1mxiyi

三、协方差矩阵

x x x y y y变量拼成一个矩阵 X X X
X = ( x 1 x 2 ⋯ x m y 1 y 2 ⋯ y m ) X=\begin{pmatrix} x_1 & x_2 & \cdots & x_m \\ y_1 & y_2 & \cdots & y_m \end{pmatrix} \\ X=(x1y1x2y2xmym)
那么计算协方差矩阵
Σ = 1 m X X T = ( 1 m ∑ i = 1 m x i 2 1 m ∑ i = 1 m x i y i 1 m ∑ i = 1 m x i y i 1 m ∑ i = 1 m y i 2 ) = ( C o v ( x , x ) C o v ( x , y ) C o v ( y , x ) C o v ( y , y ) ) \Sigma=\frac{1}{m}XX^\mathsf{T}= \begin{pmatrix} \frac{1}{m}\sum_{i=1}^m{x_i^2} & \frac{1}{m}\sum_{i=1}^m{x_iy_i} \\ \frac{1}{m}\sum_{i=1}^m{x_iy_i} & \frac{1}{m}\sum_{i=1}^m{y_i^2} \end{pmatrix} = \begin{pmatrix} Cov(x,x) & Cov(x,y) \\ Cov(y,x) & Cov(y,y) \end{pmatrix} \\ Σ=m1XXT=(m1i=1mxi2m1i=1mxiyim1i=1mxiyim1i=1myi2)=(Cov(x,x)Cov(y,x)Cov(x,y)Cov(y,y))
顺便说一下, x 2 x^2 x2的期望也就是它与它自身的协方差,记为 C x C^x Cx
E ( x 2 ) = 1 m ∑ i = 1 m x i 2 = C x E(x^2)=\frac{1}{m}\sum_{i=1}^m{x_i^2}=C_{x} E(x2)=m1i=1mxi2=Cx

四、方差最大化

  • 假设原来有两个变量 x 1 , x 2 x_1,x_2 x1,x2,三个样本点分别为 A , B , C A,B,C A,B,C,样本分布在由 x 1 , x 2 x_1,x_2 x1,x2轴组成的坐标系中。

  • 对坐标系进行旋转变换,得到新的坐标轴 y 1 y_1 y1,表示新的变量 y 1 y_1 y1

  • 样本点 A , B , C A,B,C A,B,C y 1 y_1 y1轴上投影,得到 y 1 y_1 y1轴的坐标值为 A ’ , B ’ , C ’ A^{’},B^{’},C^{’} A,B,C

  • 坐标轴的平方和为 O A ’ 2 + O B ’ 2 + O C ’ 2 OA^{’2}+OB^{’2}+OC^{’2} OA2+OB2+OC2表示样本在变量 y 1 y_1 y1上的方差和

  • 主成分分析旨在选取正交变换中方差最大的变量,作为第一主成分,也就是旋转变换中坐标值平方和最大的轴

  • 而我们知道,对于样本而言,本身的 O A 2 + O B 2 + O C 2 OA^{2}+OB^{2}+OC^{2} OA2+OB2+OC2为固有值,不变

  • 因此可以通过勾股定理知道,方差最大 O A ’ 2 + O B ’ 2 + O C ’ 2 OA^{’2}+OB^{’2}+OC^{’2} OA2+OB2+OC2最大等价于样本点到 y 1 y_1 y1轴的距离 A A ’ 2 + B B ’ 2 + C C ’ 2 AA^{’2}+BB^{’2}+CC^{’2} AA2+BB2+CC2最小

在这里插入图片描述

基于PCA的线性结合的第一个主成分
y 1 = ∑ k = 1 n ω k 1 x k = ω 1 T x \begin{aligned} y_1=\sum_{k=1}^n \omega_{k1}x_k=\omega_1^Tx \end{aligned} y1=k=1nωk1xk=ω1Tx
那么最大化方差为
D ( y 1 ) = E ( y 1 2 ) − E ( y 1 ) 2 D(y_1)=E(y_1^2)-E(y_1)^2 D(y1)=E(y12)E(y1)2
而经过了去掉均值化后,期望为0
E ( y 1 ) = E ( ∑ k = 1 n ω k 1 x k ) = E ( ω 1 T x ) = 0 E(y_1)=E(\sum_{k=1}^n \omega_{k1}x_k)=E(\omega_1^Tx)=0 E(y1)=E(k=1nωk1xk)=E(ω1Tx)=0
去均值化期望为0的具体步骤如下,假设 x k x_k xk为未去除均值的情况,均值为 μ \mu μ
E ( ∑ k = 1 n ω k 1 x k ) = ω k 1 T E ( ∑ k = 1 n x k ) → ω k 1 T E ( ∑ k = 1 n ( x k − μ ) ) = ω k 1 T ( E ( ∑ k = 1 n x k ) − n μ ) = 0 E(\sum_{k=1}^n \omega_{k1}x_k)=\omega_{k1}^TE(\sum_{k=1}^n x_k)\\\rightarrow\omega_{k1}^TE(\sum_{k=1}^n (x_k-\mu))=\omega_{k1}^T(E(\sum_{k=1}^nx_k)-n\mu)=0 E(k=1nωk1xk)=ωk1TE(k=1nxk)ωk1TE(k=1n(xkμ))=ωk1T(E(k=1nxk)nμ)=0
**例子:**再进一步理解一下期望的推导过程,看一下去均均值化的过程。纵轴为 x 2 x_2 x2,横轴为 x 1 x_1 x1

  • 比如对于几个个样本点 ( 1 , 0 ) , ( 2 , 1 ) , ( 3 , 2 ) (1,0),(2,1),(3,2) (1,0),(2,1),(3,2)构成的直线来说,组成的直线方程为 x 1 − x 2 − 1 = 0 x_1-x_2-1=0 x1x21=0,那么可以写成
    x 1 − x 2 − 1 = ( − 1 , 1 , − 1 ) ( 1 , x 1 , x 2 ) T x_1-x_2-1=(-1,1,-1)(1,x_1,x_2)^T x1x21=(1,1,1)(1,x1,x2)T
    那么根据这几个样本点,计算他们的期望如下
    E ( ∑ k = 1 n ω k 1 x k ) = ω k 1 T E ( ∑ k = 1 n x k ) = ( − 1 , 1 , − 1 ) E [ ∑ k = 1 1 1 , x 1 , x 2 ] T = ( − 1 , 1 , − 1 ) E [ ( 1 , 1 , 0 ) T + ( 1 , 2 , 1 ) T + ( 1 , 3 , 2 ) T ] = ( − 1 , 1 , − 1 ) E [ ( 3 , 6 , 3 ) T ] = 0 \begin{aligned} E(\sum_{k=1}^n \omega_{k1}x_k)&=\omega_{k1}^TE(\sum_{k=1}^n x_k) \\&=(-1,1,-1)E[\sum_{k=1}^{1}1,x_1,x_2]^T \\&=(-1,1,-1)E[(1,1,0)^T+(1,2,1)^T+(1,3,2)^T] \\&=(-1,1,-1)E[(3,6,3)^T] \\&=0 \end{aligned} E(k=1nωk1xk)=ωk1TE(k=1nxk)=(1,1,1)E[k=111,x1,x2]T=(1,1,1)E[(1,1,0)T+(1,2,1)T+(1,3,2)T]=(1,1,1)E[(3,6,3)T]=0
    因为这些样本点在直线上,期望肯定是0,这里看的是右面的部分,变量的期望,去均值化的时候目的是让 E E E中去均值后的 x x x 0 0 0

    • 那么对于 x 1 x_1 x1 x 2 x_2 x2,去掉他们的均值 2 2 2 1 1 1后计算:

    E ( ∑ k = 1 n ω k 1 x k ) → ω k 1 T E ( ∑ k = 1 n ( x k − μ ) ) = ( − 1 , 1 , − 1 ) E [ ∑ k = 1 1 1 − 1 , x 1 − 2 , x 2 − 1 ] T = ( − 1 , 1 , − 1 ) E [ ( 0 , − 1 , − 1 ) T + ( 0 , 0 , 0 ) T + ( 0 , 1 , 1 ) T ] = ( − 1 , 1 , − 1 ) E [ ( 0 , 0 , 0 ) T ] = 0 \begin{aligned} E(\sum_{k=1}^n \omega_{k1}x_k)&\rightarrow\omega_{k1}^TE(\sum_{k=1}^n (x_k-\mu)) \\&=(-1,1,-1)E[\sum_{k=1}^{1}1-1,x_1-2,x_2-1]^T \\&=(-1,1,-1)E[(0,-1,-1)^T+(0,0,0)^T+(0,1,1)^T] \\&=(-1,1,-1)E[(0,0,0)^T] \\&=0 \end{aligned} E(k=1nωk1xk)ωk1TE(k=1n(xkμ))=(1,1,1)E[k=1111,x12,x21]T=(1,1,1)E[(0,1,1)T+(0,0,0)T+(0,1,1)T]=(1,1,1)E[(0,0,0)T]=0

    新的方程为 ( 1 ) ∗ ( x 1 − 2 ) + ( − 1 ) ∗ ( x 2 − 1 ) = 0 (1)*(x_1-2)+(-1)*(x_2-1)=0 (1)(x12)+(1)(x21)=0,如果令 x 3 = x 1 − 2 , x 4 = x 2 − 1 x_3=x_1-2,x_4=x_2-1 x3=x12x4=x21,通过去均值那么就得到了让直线经过了原点,去除了截距项,即 x 3 − x 4 = 0 x_3-x_4=0 x3x4=0

那么回到(9)式,继续计算这个方差,有两种理解办法,过程是一样的

  • 第一种根据方差与期望的关系,通过(10)(11)算式推得到 E ( y 1 ) = 0 E(y_1)=0 E(y1)=0从而最大化方差 D ( y 1 ) D(y_1) D(y1)等价于最大化 E ( y 1 2 ) E(y_1^2) E(y12)
  • 第二种根据(2)的算式,期望为0,得到以下形式,结果是相同的

J 1 P A C ( w 1 ) = D ( y 1 ) = 1 m ∑ i = 1 m ( x 1 T w ) 2 = 1 m ∑ i = 1 m ( x 1 T w ) T ( x 1 T w ) = 1 m ∑ i = 1 m w T x 1 x 1 T w = w T ( 1 m ∑ i = 1 m x 1 x 1 T ) w = w T E ( x 2 ) w = w T Σ w = w T C x w \begin{aligned} J_1^{PAC}(w_1)=D(y_1)&=\frac{1}{m}\sum_{i=1}^{m}(x_1^Tw)^2 \\& =\frac{1}{m}\sum_{i=1}^{m}(x_1^Tw)^T(x_1^Tw) \\ &=\frac{1}{m}\sum_{i=1}^{m}w^Tx_1x_1^Tw \\& = w^T(\frac{1}{m}\sum_{i=1}^{m}x_1x_1^T)w\\& =w^T E(x^2)w\\&=w^T\Sigma w\\&=w^TC_x w\end{aligned} \\ J1PAC(w1)=D(y1)=m1i=1m(x1Tw)2=m1i=1m(x1Tw)T(x1Tw)=m1i=1mwTx1x1Tw=wT(m1i=1mx1x1T)w=wTE(x2)w=wTΣw=wTCxw
最后得到的最优化问题是
m a x : w T C x w s . t : w T w = 1 max:w^TC_x w\\ s.t:w^Tw=1 max:wTCxws.t:wTw=1

五、均方误差最小化(MSE)

在方差最大化的图中,可以知道Variance+MSE=定值,因此二者是等价的,换一种思路通过均方误差最小化进行推导。

向量的投影

在这里插入图片描述

以该图的B点为例,设B点的坐标为 ( x 1 , x 2 ) (x_1,x_2) (x1,x2),其所代表的向量为 O B → = x → = ( x 1 , x 2 ) \overrightarrow{OB}=\overrightarrow{x}=(x_1,x_2) OB =x =(x1,x2),由于 y 1 = ∑ k = 1 n ω k 1 x k = ω 1 T x y_1=\sum_{k=1}^n \omega_{k1}x_k=\omega_1^Tx y1=k=1nωk1xk=ω1Tx,那么可以同样表示出直线的单位方向向量为 w → = ( w 1 , w 2 ) \overrightarrow{w}=(w_1,w_2) w =(w1,w2),(注:由于该直线过原点就没有写截距项1)那么先算 x → \overrightarrow{x} x 向量和 w → \overrightarrow{w} w 向量的夹角 θ \theta θ.

由于 w T w = 1 w^Tw=1 wTw=1,即 ∣ w → ∣ = 1 |\overrightarrow{w}|=1 w =1,可以继续化简为:
c o s θ = x → w → ∣ x → ∣ ∣ w → ∣ = x → w → ∣ x → ∣ \begin{aligned} cos\theta&=\frac {\overrightarrow{x}\overrightarrow{w}}{|\overrightarrow{x}||\overrightarrow{w}|}\\&=\frac {\overrightarrow{x}\overrightarrow{w}}{|\overrightarrow{x}|} \end{aligned} cosθ=x w x w =x x w

那么 O B ′ OB' OB的长度为
O B ’ = O B ∗ c o s θ = ∣ x → ∣ ∗ x → w → ∣ x → ∣ = x → w → OB^{’}=OB*cos\theta=|\overrightarrow{x}|*\frac {\overrightarrow{x}\overrightarrow{w}}{|\overrightarrow{x}|} =\overrightarrow{x}\overrightarrow{w} OB=OBcosθ=x x x w =x w
那么 O B ′ OB' OB的方向为
w → ∣ w → ∣ = w → \frac{\overrightarrow{w}}{|\overrightarrow{w}|}=\overrightarrow{w} w w =w
因此 O B ′ OB' OB的向量为
O B ’ → = x → w → ∗ w → \overrightarrow{OB^{’}}=\overrightarrow{x}\overrightarrow{w}*\overrightarrow{w} OB =x w w
在这个部分,我们的目标是最小化均方误差,也就是 m i n ( A A ’ 2 + B B ’ 2 + C C ’ 2 ) min(AA^{’2}+BB^{’2}+CC^{’2}) min(AA2+BB2+CC2)

下一步就是表示出 B ’ B → \overrightarrow{B^{’}B} BB ,由向量的知识,(方向换一下没事,因为还要平方)可以得到
B ’ B → = O B → − O B ′ → = x → − x → w → ∗ w → = x − ( w T x ) w \begin{aligned} \overrightarrow{B^{’}B}&=\overrightarrow{OB}-\overrightarrow{OB'}\\&=\overrightarrow{x}-\overrightarrow{x}\overrightarrow{w}*\overrightarrow{w}\\&=x-(w^Tx)w \end{aligned} BB =OB OB =x x w w =x(wTx)w
因此目标为
J M S E P C A = E ( ∣ ∣ x − ∑ i = 1 m ( w i T x ) w i ∣ ∣ 2 ) = E ( ∣ ∣ x ∣ ∣ 2 ) − 2 E ( x T ∑ i = 1 m ( w i T x ) w i ) + E ( ∑ i = 1 m ( ( w i T x ) w i ) 2 ) = E ( ∣ ∣ x ∣ ∣ 2 ) − 2 w T E ( ∑ i = 1 m ( x T x ) 2 ) w + E ( ( ∑ i = 1 m ( ( w i T x ) w i ) T ∗ ( w i T x ) w i ) = E ( ∣ ∣ x ∣ ∣ 2 ) − 2 w T E ( ∑ i = 1 m ( x T x ) 2 ) w + w T E ( ∑ i = 1 m ( x T x ) 2 ) w = E ( ∣ ∣ x ∣ ∣ 2 ) − w T E ( ∑ i = 1 m ( x T x ) 2 ) w = t r a c e ( C x ) − w T C x w \begin{aligned} J_{MSE}^{PCA}&=E(\vert\vert x-\sum_{i=1}^{m}(w_i^Tx)w_i \vert\vert^2) \\&=E(\vert\vert x\vert\vert^2)-2E(x^T\sum_{i=1}^{m}(w_i^Tx)w_i)+E(\sum_{i=1}^{m}((w_i^Tx)w_i)^2) \\&=E(\vert\vert x\vert\vert^2)-2w^TE(\sum_{i=1}^{m}(x^Tx)^2)w+E((\sum_{i=1}^{m}((w_i^Tx)w_i)^T*(w_i^Tx)w_i) \\&=E(\vert\vert x\vert\vert^2)-2w^TE(\sum_{i=1}^{m}(x^Tx)^2)w+w^TE(\sum_{i=1}^{m}(x^Tx)^2)w \\&=E(\vert\vert x\vert\vert^2)-w^TE(\sum_{i=1}^{m}(x^Tx)^2)w \\&=trace(C_x)-w^TC_x w \end{aligned} JMSEPCA=E(xi=1m(wiTx)wi2)=E(x2)2E(xTi=1m(wiTx)wi)+E(i=1m((wiTx)wi)2)=E(x2)2wTE(i=1m(xTx)2)w+E((i=1m((wiTx)wi)T(wiTx)wi)=E(x2)2wTE(i=1m(xTx)2)w+wTE(i=1m(xTx)2)w=E(x2)wTE(i=1m(xTx)2)w=trace(Cx)wTCxw
由于协方差 C x C_x Cx是定值,因此 w T C x w w^TC_x w wTCxw越大,均方误差越小。

即得到的最优化问题为:
m a x : w T C x w s . t : w T w = 1 max:w^TC_x w\\ s.t:w^Tw=1 max:wTCxws.t:wTw=1

六、求解最优化问题

根据拉格朗日方程:
L ( w , λ ) = w T C x w − λ ( w T w − 1 ) L(w,\lambda)=w^TC_x w-\lambda(w^Tw-1) L(w,λ)=wTCxwλ(wTw1)

那么对w求导可以得到
2 C x w − 2 λ w = 0 2C_xw-2\lambda w=0 2Cxw2λw=0
这意味着协方差的特征值是 λ \lambda λ
因此 C x w = λ w C_xw=\lambda w Cxw=λw代入后有
w T C x w = w T ( C x w ) = w T λ w = λ w T w = λ w^TC_x w=w^T(C_x w)=w^T\lambda w=\lambda w^Tw=\lambda wTCxw=wT(Cxw)=wTλw=λwTw=λ
即寻找最大的特征值 λ \lambda λ即为所求。

那么从大到小排列,便得到了各个主成分。

高维小样本数据集的PCA方法预降维度方法及相关公式

  • 例如: x i ∈ R n , i = 1 , 2 , … , k . x_i∈R^n, i=1,2,…,k. xiRn,i=1,2,,k.

  • 这意味着在n很大的情况下, C x ∈ R ( n × n ) C_x∈R^{(n×n)} CxR(n×n) ,协方差矩阵太大并且不可逆很难分解

  • 因此要采用预处理降维度的办法

w 1 = x 1 w 1 = w 1 / ‖ w 1 ‖ w 2 = x 2 − ( w 1 T x 2 ) w 1 , w 2 = w 2 / ‖ w 2 ‖ … … w k = x k − ∑ ( j = 1 ) ( k − 1 ) ( w j T x k ) w j , w k = w k / ‖ w k ‖ \begin{aligned} w_1=x_1 w_1=w_1/‖w_1 ‖\\ w_2=x_2−(w_1^T x_2)w_1,w_2=w_2/‖w_2 ‖\\ ……\\ w_k=x_k−∑_{(j=1)}^{(k−1)}(w_j^T x_k)w_j , w_k=w_k/‖w_k ‖ \end{aligned} w1=x1w1=w1/w1w2=x2(w1Tx2)w1,w2=w2/w2wk=xk(j=1)(k1)(wjTxk)wj,wk=wk/wk

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值