PCA主成分分析数学原理

2018-02-22  本文已影响11人  LittleSasuke

Welcome To My Blog
复习完线性代数再来推导下PCA

概述

具体推导

参数说明

记x1,x2...xp是P个原始特征(也就是某个样本的维数), x=(x1,x2...xp)^t,记ξ1,ξ2...ξp是p个新特征, ξ=(ξ1,ξ2...ξp)^t
新特征是原始特征的线性组合,ξi =Σαij*xj =αi^t*x 或者 ξ =A^t*x
A=(α1,α2...αp). αi=(αi1,αi2...αip)^t.
αi是新特征ξi线性组合的系数,不妨使||α||=1,即αi^t*αi=1(由具体推导过程可知,这是结果的共有部分,所以可以设为1),
ξi=αit*x的结果是一个数,所以对αit*x进行转置不影响结果)

计算第一个新特征ξ1的方差:

Var(ξ1)
= E[ξ1*ξ1^t] -E[ξ1]E[ξ1^t]
= E[α1t*x*xt*α1]-E[α1^t*x ]E[x^t*α1]
= α1^t *{E[x^t*x] -E[x]E[x^t]}α1
= α1^t*Σ*α1
Σ是x的协方差矩阵,接下来在αi^t*αi=1的约束条件下求Var的极值,使用拉格朗日乘子法:
f(α1,ν)= α1^t *Σ*α1-ν(α1^t *α1-1)
关于α1求偏导并使结果等于零,可得:Σ*α1 = ν*α1 (显而易见,ν是Σ的特征值,α1是Σ对应ν的特征向量)
代回得,Var(ξ1) = ν*α1^t*α1 = ν,说明方差的最大值就是x的协方差矩阵的特征值,取ν为最大的特征值,使新特征ξ1最重要

计算第二个新特征ξ2的方差:

Var(ξ2) = α2^t*Σ*α2
保持ξ1与ξ2不相关,即加入约束Cov(ξ1,ξ2)= 0
Cov(ξ1,ξ2)
= E[ξ1*ξ2^t] - E[ξ1]E[ξ2^t]
= α1^t* {E[x^t*x] -E[x]E[x^t] }*α2^t
= α1^t*Σ*α2
为利用第一个新特征的条件,求Cov(ξ2,ξ1)
Cov(ξ2,ξ1) = Cov(ξ1,ξ2)
= α2^t*Σ*α1
= ν*α2^t*α1 (因为Σ*α1 = ν*α1)
= 0
得 α2^t *α1 = 0,说明α1与α2正交,也就是说,此处不相关等价于α1与α2正交
在α2^t *α2=1和α2^t*α1 =0的约束下用拉格朗日乘子法求Var(ξ2)的最大值
f(α2,α1,m,n) = α2^t*Σ*α2 - m(α2^t*α2-1) - n*α2^t*α1
分别对α2,α1,m,n求偏导并使结果为0,得n=0, Σ*α2 = m*α2 (显而易见,m是Σ的特征值,α2是Σ对应m的特征向量)
代回得,Var(ξ2) = m

计算其余新特征ξ的方差

同理,求出ξ3,ξ4...ξp

进一步总结

如何降维?

上一篇下一篇

猜你喜欢

热点阅读