现代信号处理 12 - 深入探讨奇异值分解

Posted Ciaran-byte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了现代信号处理 12 - 深入探讨奇异值分解相关的知识,希望对你有一定的参考价值。

深入探讨奇异值分解

1. PCA、KL展开与SVD

1.1 PCA公式证明

  我们考虑一个随机矢量,其中zk是一个随机变量

Z = ( z 1 , . . . , z n ) T Z = (z_1,...,z_n)^T Z=(z1,...,zn)T

  我们假定Z符合高斯分布

Z ∼ N ( μ , Σ ) Z \\sim N(\\mu,\\Sigma) ZN(μ,Σ)

  我们想对Z进行PCA,我们假设Z是个无偏的估计

E ( Z ) = 0 V a r ( Z ) = E ∣ Z ∣ 2 E(Z) = 0 \\\\ Var(Z) = E |Z|^2 E(Z)=0Var(Z)=EZ2

  我们想对Z进行分析,找到他能量分布最大的方向α,同时我们假设方向向量α是个单位向量,要找到Z能量分布最大的方向,也就是Z在α上投影最大。

α ∈ R n E ∣ P r o j α Z ∣ 2 ⇒ m a x E ∣ P r o j α Z ∣ 2 , s . t . ∣ ∣ α ∣ ∣ = 1 \\alpha \\in R^n \\\\ E|Proj_\\alpha Z|^2 \\Rightarrow maxE|Proj_\\alpha Z|^2,s.t. ||\\alpha|| = 1 αRnEProjαZ2maxEProjαZ2,s.t.α=1

  根据投影公式

P r o j α Z = α ( α T α ) − 1 α T Z ∣ ∣ P r o j α Z ∣ ∣ 2 = Z T α ( α T α ) − 1 α T ∗ α ( α T α ) − 1 α T Z = Z T α ∗ α T Z Proj_\\alpha Z = \\alpha (\\alpha^T \\alpha)^-1 \\alpha^T Z \\\\ ||Proj_\\alpha Z||^2 = Z^T \\alpha (\\alpha^T \\alpha)^-1 \\alpha^T *\\alpha (\\alpha^T \\alpha)^-1 \\alpha^T Z\\\\ =Z^T \\alpha* \\alpha^T Z ProjαZ=α(αTα)1αTZProjαZ2=ZTα(αTα)1αTα(αTα)1αTZ=ZTααTZ

  所以目标函数变成

E ∣ P r o j α Z ∣ 2 ⇒ m a x E ∣ P r o j α Z ∣ 2 , s . t . ∣ ∣ α ∣ ∣ = 1 ⇒ m a x α E ∣ α T Z ∣ 2 , s . t . ∣ ∣ α ∣ ∣ = 1 E|Proj_\\alpha Z|^2 \\Rightarrow maxE|Proj_\\alpha Z|^2,s.t. ||\\alpha|| = 1 \\\\ \\Rightarrow max_\\alphaE|\\alpha^TZ|^2,s.t. ||\\alpha||=1 EProjαZ2maxEProjαZ2,s.t.α=1maxαEαTZ2,s.t.α=1

  用拉格朗日数乘法解条件极值问题

g ( α , λ ) = E ( α T Z ) ( Z T α ) − λ ( α T α − 1 ) = α T R Z α − λ ( α T α − 1 ) ∇ α g ( α , λ ) = 2 R Z α − 2 λ α = 0 R Z α = λ α g(\\alpha,\\lambda) = E(\\alpha^TZ)(Z^T \\alpha) - \\lambda(\\alpha^T \\alpha-1) = \\alpha^T R_Z \\alpha - \\lambda(\\alpha^T \\alpha-1)\\\\ \\nabla_\\alpha g(\\alpha,\\lambda) = 2R_Z\\alpha - 2\\lambda \\alpha = 0 \\\\ R_Z \\alpha = \\lambda \\alpha g(α,λ)=E(αTZ)(ZTα)λ(αTα1)=αTRZαλ(αTα1)αg(α,λ)=2RZα2λα=0RZα=λα

  其中

R Z = E ( Z ∗ Z T ) R_Z = E(Z*Z^T) RZ=E(ZZT)

  说明得到的方向是Z的相关矩阵的特征向量。

  而我们希望获得最大化的能量分散,也就是要获得最大的特征值

m a x α T R Z α = m a x λ ⇒ m a x α 1 T R Z α 1 = m a x λ 1 max \\alpha^T R_Z \\alpha = max \\lambda \\\\ \\Rightarrow max \\alpha_1^T R_Z \\alpha_1 = max \\lambda_1 maxαTRZα=maxλmaxα1TRZα1=maxλ1

  因此我们找到的第一个主成分,就是最大的那个特征值。我们希望继续找能量分散最大的方向,其实也就是要到α的正交补空间中继续寻找,因此如果继续求条件极值的话,目标函数应该是这样的

m a x α n E ∣ α n T Z ∣ 2 s . t . ∣ ∣ α n ∣ ∣ = 1 s . t . α 1 T α n = 0 max_\\alpha_nE|\\alpha_n^TZ|^2 \\\\ s.t. \\quad ||\\alpha_n||=1 \\\\ \\quad s.t. \\quad \\alpha_1^T \\alpha_n = 0 maxαnEαnTZ2s.t.以上是关于现代信号处理 12 - 深入探讨奇异值分解的主要内容,如果未能解决你的问题,请参考以下文章

AI数学基础之:奇异值和奇异值分解

svd 奇异值分解

奇异值怎么求

什么是矩阵的奇异值分解?

奇异值分解(SVD)的原理及应用

奇异值分解的方法