PCA与SVD

PCA与SVD

公众号:ChallengeHub(机器学习,NLP,推荐系统,数据分析)
(欢迎大家关注)

PCA介绍和基本思想

​ 主成分分析(PCA)是一种利用正交变换把由线性相关变量表示的观测数据转化为少数几个由线性无关变量表示的数据。

​ 在主成分分析中,首先对给定的数据进行规范化,使得数据的每一变量的平均值为0,方差为1。之后对数据进行正交变换,原来由线性相关变量表示的数据,通过正交变换变成若干个线性无关的新变量表示的数据,新变量是可能的正交变换中变量的方差最大的,方差表示在新变量上信息的大小,将变量依次成为第一主成分,第二主成分。

PCA的相关定义

总体主成分分析的定义:

1 系数向量 α i ⊤ \alpha^{\top}_i αi是单位向量,即 α i ⊤ α i = 1 \alpha^{\top}_i\alpha_i=1 αiαi=1

2 变量 y i , y j y_i,y_j yi,yj不相关,协方差等于0

3 变量 y 1 y_1 y1 x x x所有的线性变换中方差最大的, y 2 y_2 y2是与 y 1 y_1 y1不相关的 x x x的所有线性变换中方差最大的。

主成分分析的求法

假设 X = x 1 , x 2 , . . . x m X={x_1,x_2,...x_m} X=x1,x2,...xm m m m维随机变量, ∑ \sum x x x协方差矩阵的, ∑ \sum 的特征值为 λ 1 ≥ λ 2 ≥ . . . ≥ λ m ≥ 0 \lambda_1\ge\lambda_2\ge...\ge\lambda_m\ge0 λ1λ2...λm0,特征值对应的单位向量分别是 α 1 , α 2 , . . . α m \alpha_1,\alpha_2,...\alpha_m α1,α2,...αm

x x x的第 k k k主成分是:
y k = α k ⊤ x = α 1 k x 1 + α 2 k x 2 + . . . + α m k x m y_k=\alpha_k^{\top}x=\alpha_{1k}x_1+\alpha_{2k}x_2+...+\alpha_{mk}x_m yk=αkx=α1kx1+α2kx2+...+αmkxm
x x x的第 k k k主成分的方差是:
v a r ( y k ) = E [ ( y k − E ( y k ) ) 2 ] = E [ ( α k ⊤ x − α k ⊤ u ) 2 ] var(y_k)=E[(y_k-E(y_k))^2]=E[(\alpha^{\top}_kx-\alpha_k^{\top}u)^2] var(yk)=E[(ykE(yk))2]=E[(αkxαku)2]
其中 u = E ( x ) u=E(x) u=E(x),上式子为: v a r ( y k ) = E [ ( α k ⊤ ( x − u ) ) 2 ] = E [ α k ⊤ ( x − u ) 2 α k ] var(y_k)=E[(\alpha_k^{\top}(x-u))^2]=E[\alpha^{\top}_k(x-u)^2\alpha_k] var(yk)=E[(αk(xu))2]=E[αk(xu)2αk]

因此: v a r ( y k ) = α k ⊤ ∑ α k = λ k var(y_k)=\alpha_k^{\top}\sum\alpha_k=\lambda_k var(yk)=αkαk=λk

SVD介绍和基本思想

奇异值分解是一种矩阵因子分解方法,任何一个矩阵都可以表示为三个矩阵的乘积形式,分别是 m m m阶正交矩阵,由降序排列的非负的对角线元素组成的 m ∗ n m*n mn矩形对角阵和 n n n阶正交举证。

SVD的基本定理和形式

A A A为一 m ∗ n m*n mn的实矩阵, A ∈ R m ∗ n A\in R^{m*n} ARmn,则 A A A的奇异分解存在:
A = U ∑ V ⊤ A=U\sum V^{\top} A=UV
其中 U U U m ∗ m m*m mm阶正交矩阵,V是n阶正交矩阵, ∑ \sum m ∗ n m*n mn阶对角矩阵,其对角元素非负。

假设矩阵 A A A的秩为 r r r,则矩阵 A ⊤ A A^{\top}A AA的矩阵也为 r r r,由于 A ⊤ A A^{\top}A AA矩阵为对称矩阵,因此,它的特征值均大于等于0,它的秩等于大于0的特征值的个数。

λ 1 ≥ λ 2 ≥ . . . ≥ λ r > 0 \lambda_1\ge\lambda_2\ge...\ge\lambda_r>0 λ1λ2...λr>0

λ r + 1 = λ r + 2 . . . λ n = 0 \lambda_{r+1}=\lambda_{r+2}...\lambda_n=0 λr+1=λr+2...λn=0

令:
σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi
可以计算相应的特征向量为:
V 1 = [ v 1 , v 2 , . . v r ] V_1=[v_1,v_2,..v_r] V1=[v1,v2,..vr]

V 2 = [ v r + 1 , v r + 2 , . . . v n ] V_2=[v_{r+1},v_{r+2},...v_n] V2=[vr+1,vr+2,...vn]

可以构建正交矩阵:
V = [ V 1 , V 2 ] V=[V_1,V_2] V=[V1,V2]
σ i \sigma_i σi排序构建一个 m ∗ n m*n mn的矩阵对角矩阵 ∑ \sum 。其中可以用 σ 1 , . . . σ r \sigma_1,...\sigma_r σ1,...σr构建一个 r ∗ r r*r rr的对角矩阵 ∑ 1 \sum_1 1,该矩阵处于矩阵 ∑ \sum 的左上角。

接下来构建实正交矩阵 U U U

令:
u j = 1 σ j A v j , j = 1 , 2 , 3... r u_j=\frac {1}{\sigma_j}Av_j ,j=1,2,3...r uj=σj1Avj,j=1,2,3...r
令:

A V 1 = U 1 ∑ 1 AV_1=U_1\sum_1 AV1=U11

通过这种方式得到的 u 1 , u 2 , . . . u r u_1,u_2,...u_r u1,u2,...ur是正交的,然后计算与 U 1 U_1 U1正交的其它基向量 U 2 U_2 U2,
U 2 = [ u r + 1 , u r + 2 , . . . u n ] U_2=[u_{r+1},u_{r+2},...u_{n}] U2=[ur+1,ur+2,...un]
U = [ U 1 , U 2 ] U=[U_1,U_2] U=[U1,U2]

最后可以证明下 A = U ∑ V T A=U\sum V^{T} A=UVT
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲\begin{split} …

SVD拓展

上文给定的奇异分解为完全奇异分解,实际上我们经常用到的是紧凑奇异分解或者截断奇异分解。紧凑奇异分解就是上文中的

A = U 1 ∑ 1 V 1 ⊤ A=U_1\sum_1V_1^{\top} A=U11V1

截断奇异分级就是当 A ⊤ A A^{\top}A AA不为0的特征值由 r r r个时,并不会选取所以的特征值与特征向量,只选取前 k k k个特征值,则此时:

A ≈ U k ∑ k V k ⊤ A\approx U_k\sum_kV_k^{\top} AUkkVk

奇异分解是一种无损的压缩,但是截断奇异分解以为有有损压缩。

SVD和PCA的关系

结论,可以用求SVD的方法来求PCA。

假设 X X X是已经中心化之后的数据矩阵,每一列都是一个样本,那么协方差矩阵为 1 n X X ⊤ \frac 1nXX^{\top} n1XX。主成分分析的目标函数是通过 W W W投影使得方差最大化。

X = U ∑ V ⊤ X=U\sum V^{\top} X=UV,则可以得到 X X ⊤ = U ∑ 2 U ⊤ XX^{\top}=U\sum^2 U^{\top} XX=U2U。因此我们可以知道此时的 U U U就是我们所需要的 W W W W = U W=U W=U

Y = W ⊤ X Y=W^{\top}X Y=WX就是我们常用的降维方法,可得 Y = W ⊤ X = U ⊤ U ∑ V ⊤ = ∑ V ⊤ Y=W^{\top}X=U^{\top}U\sum V^{\top}=\sum V^{\top} Y=WX=UUV=V,又因为有 X ⊤ X = V ∑ 2 V ⊤ X^{\top}X=V\sum^2V^{\top} XX=V2V,所以只需要对矩阵 X T X X^{T}X XTX进行分解得到向量 V , ∑ V,\sum V,就可以得到 Y Y Y。因此分解协方差矩阵和内积矩阵均可以求解PCA。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值