矩阵论专栏:专栏(文章按照顺序排序)
Schur分解、特征值分解、奇异值分解是三种联系十分紧密的矩阵分解,它们的关系是 S c h u r → E V D → S V D Schur\rightarrow{}EVD\rightarrow{}SVD Schur→EVD→SVD,也就是说由Schur分解可以推导出EVD,再推导出SVD。本篇博客和上篇博客遵循主线 S c h u r → E V D → S V D Schur\rightarrow{}EVD\rightarrow{}SVD Schur→EVD→SVD,且对各个矩阵分解的相关理论应用(能够解决矩阵论中的哪些问题)进行介绍。
本篇博客讨论特征值分解和奇异值分解的相关内容。上篇博客(链接)讨论的是Schur分解以及利用Schur分解能够解决的若干问题。注意,引理1-5以及定理1-15在上篇博客中。
本文内容以线性代数知识为基础(主要是特征值和相似的知识):
矩阵论(零):线性代数基础知识整理(1)——逆矩阵、初等变换、满秩分解
矩阵论(零):线性代数基础知识整理(2)——矩阵的秩与向量组的秩
矩阵论(零):线性代数基础知识整理(3)——矩阵的秩与向量组的秩
矩阵论(零):线性代数基础知识整理(4)——线性空间与线性变换
矩阵论(零):线性代数基础知识整理(5)——特征值与相似
- 特征值分解EVD
- 正规矩阵与EVD
- EVD得到矩阵的特征值和特征向量
- EVD的构造方法
- EVD用于求矩阵的逼近
- 实正规矩阵的正交相似拟对角化(拓展内容)
- 奇异值分解SVD
- SVD的存在性定理
- SVD的构造方法(简介)
- SVD的性质
- SVD用于求矩阵的逼近
- SVD在推荐系统中的应用
特征值分解EVD(正规矩阵)
与Schur分解不同的是,特征值分解(又叫谱分解)要求将方阵酋对角化,这比schur分解的要求更高(Schur分解只是酋相似上三角化)。实际上,只有一类特殊的方阵才能进行特征值分解,这类特殊的方阵是正规矩阵。下面介绍特征值分解EVD。
-
定义(谱分解):设有n阶方阵A。若存在n阶酋矩阵U和对角矩阵 Σ \Sigma Σ使得 A = U Σ U H A=U\Sigma{U^H} A=UΣUH,则称 A = U Σ U H A=U\Sigma{U^H} A=UΣUH是A的一个谱分解
-
定义(正规矩阵):若n阶方阵A满足 A H A = A A H A^HA=AA^H AHA=AAH,则称A是正规矩阵
【注1】容易验证Hermite矩阵(共轭对称矩阵)、反Hermite矩阵、实对称矩阵、实反对称矩阵、酋矩阵、实正交矩阵等都是正规矩阵。正规矩阵实际上是内积空间上的正规变换在给定标准正交基下的矩阵,具体见链接。
【注2】这里给出正规矩阵 A A A的一个性质: N ( A ) = N ( A H ) , R ( A ) = R ( A H ) N(A)=N(A^H),R(A)=R(A^H) N(A)=N(AH),R(A)=R(AH),其中 N ( ∙ ) , R ( ∙ ) N(\bullet),R(\bullet) N(∙),R(∙)分别表示零空间和列空间。虽然这个性质本文后面没有用到,但却是正规矩阵的一个常见性质。证明很简单: A x = 0 ⟹ x H A H A x = 0 ⟹ x H A A H x = 0 ⟹ ∣ ∣ A H x ∣ ∣ 2 2 = 0 ⟹ A H x = 0 Ax=0\implies x^HA^HAx=0\implies x^HAA^Hx=0\implies||A^Hx||_2^2=0\implies A^Hx=0 Ax=0⟹xHAHAx=0⟹xHAAHx=0⟹∣∣AHx∣∣22=0⟹AHx=0,因此 N ( A ) = N ( A H ) N(A)=N(A^H) N(A)=N(AH),两端取正交补就有 R ( A H ) = R ( A ) R(A^H)=R(A) R(AH)=R(A)。
-
引理6:任意一个上三角矩阵S,若S是正规矩阵,则S必然是对角矩阵
证明:(对S的阶数n进行归纳)
当n=1时,S本身就是对角矩阵。假定结论对n-1成立,现证明结论对n也成立。设 S = [ S 1 b 0 H a ] S=\begin{bmatrix}S_1&b\\0^H&a\end{bmatrix} S=[S10Hba],其中a是一个标量, S 1 S_1 S1是一个n-1阶上三角阵。计算可得 S H S = [ S 1 H S 1 S 1 H b b H S 1 b H b + a ˉ a ] S^HS=\begin{bmatrix}S_1^HS_1&S_1^Hb\\b^HS_1&b^Hb+\bar{a}a\end{bmatrix} SHS=[S1HS1bHS1S1HbbHb+aˉa], S S H = [ S 1 S 1 H + b b H a ˉ b a b H a a ˉ ] SS^H=\begin{bmatrix}S_1S_1^H+bb^H&\bar{a}b\\ab^H&a\bar{a}\end{bmatrix} SSH=[S1S1H+bbHabHaˉbaaˉ],由 S H S = S S H S^HS=SS^H SHS=SSH得 b H b + a ˉ a = a a ˉ b^Hb+\bar{a}a=a\bar{a} bHb+aˉa=aaˉ,故 b H b = ∣ ∣ b ∣ ∣ 2 = 0 b^Hb=||b||^2=0 bHb=∣∣b∣∣2=0,故 b = 0 b=0 b=0,故 S 1 S 1 H + b b H = S 1 S 1 H = S 1 H S 1 S_1S_1^H+bb^H=S_1S_1^H=S_1^HS_1 S1S1H+bbH=S1S1H=S1HS1,即 S 1 S_1 S1是正规矩阵,由归纳假设知 S 1 S_1 S1是对角矩阵。则 S = [ S 1 0 0 H a ] S=\begin{bmatrix}S_1&0\\0^H&a\end{bmatrix} S=[S10H0a]是对角矩阵,得证。
-
定理16:n阶复方阵A酋相似于一个对角矩阵的充要条件为A是正规矩阵
证明:
必要性:若A酋相似于一个对角矩阵,即存在酋矩阵U和对角矩阵 Σ \Sigma Σ使得 A = U Σ U H A=U\Sigma{U^H} A=UΣUH,则 A H A = U Σ ‾ U H U Σ U H = U Σ ‾ Σ U H A^HA=U\overline{\Sigma}U^HU\Sigma{U^H}=U\overline{\Sigma}\Sigma{U^H} AHA=UΣUHUΣUH=UΣΣUH, A A H = U Σ U H U Σ ‾ U H = U Σ Σ ‾ U H AA^H=U\Sigma{U^H}U\overline{\Sigma}U^H=U\Sigma{}\overline{\Sigma}U^H AAH=UΣUHUΣUH=UΣΣUH,注意到 Σ ‾ Σ = Σ Σ ‾ \overline{\Sigma}\Sigma=\Sigma\overline{\Sigma} ΣΣ=ΣΣ,故 A H A = A A H A^HA=AA^H AHA=AAH。
充分性:设A的Schur分解为 A = P T P H A=PTP^H A=PTPH,其中P是酋矩阵,T是上三角矩阵。由A是正规矩阵,将A代入 A H A = A A H A^HA=AA^H AHA=AAH得 P T H T P H = P T T H P H PT^HTP^H=PTT^HP^H PTHTPH=PTTHPH,故 T H T = T T H T^HT=TT^H THT=TTH,即上三角矩阵T是正规矩阵。于是由引理6知T是对角矩阵,故A酋相似于对角矩阵T。证毕。
EVD得到矩阵的特征值和特征向量
定理16说明仅正规矩阵可进行谱分解。在探讨谱分解有何用处之前,我们先认识一下谱分解究竟是怎样的,看看分解出来的对角矩阵是什么,以及那个酋矩阵到底是什么:
- 定理17:设正规矩阵A的谱分解为 A = U Σ U H A=U\Sigma U^H A=UΣUH,则 λ \lambda λ是A的特征值的充要条件为 λ \lambda λ在 Σ \Sigma Σ的主对角线上,且A的每个特征值的代数重数等于其在 Σ \Sigma Σ的主对角线上出现的次数
- 定理18:设n阶正规矩阵A的谱分解为 A = U Σ U H A=U\Sigma U^H A=UΣUH,且 Σ = d i a g ( λ 1 , . . . , λ n ) \Sigma=diag(\lambda_1,...,\lambda_n) Σ=diag(λ1,...,λn), U = [ u 1 ⋯ u n ] U=\begin{bmatrix}u_1&\cdots&u_n\end{bmatrix} U=[u1⋯un],则 u i u_i ui是A对应于特征值 λ i \lambda_i λi的特征向量,且 u 1 , . . . , u n u_1,...,u_n u1,...,un是 C n C^n Cn的标准正交基
证明:由 A = U Σ U H A=U\Sigma U^H A=UΣUH得 A U = U Σ AU=U\Sigma AU=UΣ,故 A u i = λ i u i , i = 1 , . . . , n Au_i=\lambda_iu_i,i=1,...,n Aui=λiui,i=1,...,n,即 u i u_i ui是A对应于特征值 λ i \lambda_i λi的特征向量。因为U是酋矩阵,所以 u 1 , . . . , u n u_1,...,u_n u1,...,un是 C n C^n Cn的标准正交基。
【推论】n阶正规矩阵有n个相互正交的特征向量
【推论】n阶正规矩阵的任意特征值的几何重数与代数重数相等
上面两个定理的结论解释了“特征值分解”这个名称的来源,之所以称之为特征值分解,是因为其既分解出了特征值,还分解出了对应的特征向量。特征值分解还表明,正规矩阵的特征值和特征向量包含了原矩阵的“全部信息”,因此我们可以通过一定的方法利用特征值和特征向量重构出原矩阵。
EVD的构造方法
实际上,我们已经知道U的列向量组是A的单位正交特征向量组,那么怎么求出A的n个单位正交的特征向量呢?我们容易保证属于同一特征值的特征向量间的正交性(只要求出该特征值对应的特征子空间的标准正交基即可),但是,如何保证不同特征值的特征向量间的正交性呢?实际上,正规矩阵本身的性质就保证了这一点。下面我们就来看看正规矩阵的性质:
- 定理19:设A是正规矩阵,则 A A A和 A H A^H AH的特征值互为共轭,且 A A A对应于 λ \lambda λ的特征子空间 N ( λ I − A ) N(\lambda I-A) N(λI−A)与 A H A^H AH对应于 λ ˉ \bar{\lambda} λˉ的特征子空间 N ( λ ˉ I − A H ) N(\bar\lambda I-A^H) N(λˉI−AH)成立 N ( λ I − A ) = N ( λ ˉ I − A H ) N(\lambda I-A)=N(\bar\lambda I-A^H) N(λI−A)=N(λˉI−AH)
证明:
将A谱分解得 A = U Σ U H A=U\Sigma U^H A=UΣUH,则 A H = U Σ ‾ U H A^H=U\overline{\Sigma}U^H AH=UΣUH。因为 Σ \Sigma Σ和 Σ ‾ \overline{\Sigma} Σ主对角线上对应的元素互为共轭,所以A和 A H A^H AH的特征值互为共轭。又 A U = U Σ AU=U\Sigma AU=UΣ, A H U = U Σ ‾ A^HU=U\overline \Sigma AHU=UΣ,且U的列向量组是正交向量组,所以 A A A的特征子空间 N ( λ I − A ) N(\lambda I-A) N(λI−A)和 A H A^H AH的特征子空间 N ( λ ˉ I − A H ) N(\bar\lambda I-A^H) N(λˉI−AH)有同一组正交基,故结论成立。
- 定理20:设A是正规矩阵,则A对应于不同特征值的特征向量是正交的
证明:
设 λ \lambda λ和 μ \mu μ是A的两个不同特征值, x x x和 y y y分别是A的对应于 λ \lambda λ和 μ \mu μ的特征向量,即 λ ≠ μ , A x = λ x , A y = μ y , x ≠ 0 , y ≠ 0 \lambda \neq \mu,Ax=\lambda x,Ay=\mu y,x\neq 0,y\neq 0 λ=μ,Ax=λx,Ay=μy,x=0,y=0。由定理19知 μ ˉ \bar \mu μˉ是 A H A^H AH的特征值,且由 y ∈ N ( μ I − A ) , N ( μ I − A ) = N ( μ ˉ I − A H ) y\in N(\mu I-A),N(\mu I-A)=N(\bar\mu I-A^H) y∈N(μI−A),N(μI−A)=N(μˉI−AH)知 y ∈ N ( μ ˉ I − A H ) y\in{N(\bar\mu I-A^H)} y∈N(μˉI−AH),故 A H y = μ ˉ y A^Hy=\bar \mu y AHy=μˉy。 μ ˉ x H y = x H ( μ ˉ y ) = x H A H y = ( A x ) H y = λ ˉ x H y \bar \mu x^Hy=x^H(\bar \mu y )=x^HA^Hy=(Ax)^Hy=\bar \lambda x^Hy μˉxHy=xH(μˉy)=xHAHy=(Ax)Hy=λˉxHy故 ( μ ˉ − λ ˉ ) x H y = 0 (\bar \mu-\bar \lambda)x^Hy=0 (μˉ−λˉ)xHy=0,由 λ ≠ μ \lambda \neq \mu λ=μ知 x H y = 0 x^Hy=0 xHy=0,即 x x x和 y y y是正交的,得证。
上面的定理说明只要求出A的每个特征值的特征子空间的标准正交基,那么所有的这些基向量一定两两正交。于是,我们有如下方法来求正规矩阵的特征值分解:
注意,之所以我们构造出的矩阵U是酋矩阵,是因为U的列向量组是单位正交的(其中对应于同一特征值的特征向量两两正交,对应于不同特征值的特征向量也两两正交)。而这样的 U U U一定可以保证构造出了 A A A的一个谱分解:
因为 U H A U = [ u 11 H . . . u s r s H ] [ A u 11 . . . A u s r s ] = [ u 11 H . . . u s r s H ] [ λ 1 u 11 . . . λ s u s r s ] = [ λ 1 I r 1 ⋱ λ s I r s ] U^HAU=\begin{bmatrix}u^H_{11}\\...\\u^H_{s_{r_s}}\end{bmatrix}\begin{bmatrix}Au_{11}&...&Au_{s_{r_s}}\end{bmatrix}\\=\begin{bmatrix}u^H_{11}\\...\\u^H_{s_{r_s}}\end{bmatrix}\begin{bmatrix}\lambda_1u_{11}&...&\lambda_su_{s_{r_s}}\end{bmatrix}=\begin{bmatrix}\lambda_1I_{r_1}&&\\&\ddots&\\&&\lambda_sI_{r_s}\end{bmatrix} UHAU=⎣⎡u11H...usrsH⎦⎤[Au11...Ausrs]=⎣⎡u11H...usrsH⎦⎤[λ1u11...λsusrs]=⎣⎡λ1Ir1⋱λsIrs⎦⎤所以 A = U Λ U H A=U\Lambda U^H A=UΛUH是A的谱分解。
EVD的其他结论
谱分解还能得到其他一些有用的结论,如:
- 定理21:设n阶正规矩阵A的谱分解为 A = U Σ U H A=U\Sigma U^H A=UΣUH,则 r ( A ) = r ( Σ ) r(A)=r(\Sigma) r(A)=r(Σ),即A的秩等于A的非零特征值的个数(如果重特征值按重数算的话),零特征值的代数重数为 n − r ( A ) n-r(A) n−r(A)
- 定理22:共轭对称矩阵A的特征值都是实数
证:
因A是共轭对称矩阵,故A是正规矩阵。考虑A的谱分解 A = U Σ U H A=U\Sigma U^H A=UΣUH,因为 A H = A A^H=A AH=A,即 U Σ ‾ U H = U Σ U H U\overline{\Sigma}U^H=U\Sigma U^H UΣUH=UΣUH,所以 Σ ‾ = Σ \overline{\Sigma}=\Sigma Σ=Σ,则对角矩阵 Σ \Sigma Σ的对角元都是实数,即A的特征值都是实数。
此外,类似于schur分解,谱分解也可以加快矩阵的幂运算,且效果要更好。谱分解(酋相似对角化)是相似对角化的一个特殊情形,在相似对角化中有一个计算幂的经典例子:求斐波那契数列的通项,谱分解也能用在与之类似的情形。感兴趣的读者请参考链接。
机器学习应用中,常常遇到实矩阵而非复矩阵的问题。为避免复数运算,提高效率,需尽可能熟悉实矩阵中的相关结论:
- 定理23:设 A ∈ R n × n A\in R^{n\times n} A∈Rn×n,则 A A A存在谱分解 A = U Σ U T A=U\Sigma U^T A=UΣUT(其中 U U U是实正交矩阵, Σ \Sigma Σ是实对角矩阵)的充要条件为 A A A是实对称矩阵
证明:
充分性:实对称矩阵都是共轭对称矩阵,故A的特征值都是实数。考虑特征方程 ( λ I − A ) x = 0 (\lambda I-A)x=0 (λI−A)x=0,由于 λ \lambda λ是实数, A A A是实矩阵,故 λ I − A \lambda I-A λI−A是实矩阵。取 N ( λ I − A ) N(\lambda I-A) N(λI−A)的一组实向量基,根据前述谱分解的构造方法,可以构造出 A A A的一个谱分解 A = U Σ U T A=U\Sigma U^T A=UΣUT,其中 U U U是实正交矩阵, Σ \Sigma Σ是实对角矩阵。
必要性:设 A A A存在谱分解 A = U Σ U T A=U\Sigma U^T A=UΣUT,其中 U U U是实正交矩阵, Σ \Sigma Σ是实对角矩阵,则有 A T = ( U Σ U T ) T = U Σ U T = A A^T=(U\Sigma U^T)^T=U\Sigma U^T=A AT=(UΣUT)T=UΣUT=A。
【注】该定理的一个等价表述为:任意实对称矩阵必可正交相似对角化。
EVD用于求矩阵的逼近
谱分解在机器学习中有重要的应用,一个典型的例子就是主成分分析(PCA)。主成分分析能够将高维数据“压缩”成低维数据,在去噪的同时还能保留原数据的大部分主要特征。PCA算法会在后面的博客中详细说,这里我们大致了解一下如何求得正规矩阵的近似矩阵,以达到去噪的效果:
设n阶正规矩阵A的特征值分解为 A = U Σ U H A=U\Sigma U^H A=UΣUH,且 Σ = d i a g ( λ 1 , . . . , λ n ) \Sigma=diag(\lambda_1,...,\lambda_n) Σ=diag(λ1,...,λn), U = [ u 1 ⋯ u n ] U=\begin{bmatrix}u_1&\cdots&u_n\end{bmatrix} U=[u1⋯un]。则 A = [ u 1 ⋯ u n ] d i a g ( λ 1 , . . . , λ n ) [ u 1 H ⋯ u n H ] = [ λ 1 u 1 ⋯ λ n u n ] [ u 1 H ⋯ u n H ] = Σ i = 1 n λ i u i u i H \begin{aligned}A&=\begin{bmatrix}u_1&\cdots&u_n\end{bmatrix}diag(\lambda_1,...,\lambda_n)\begin{bmatrix}u_1^H\\\cdots\\u_n^H\end{bmatrix}\\&=\begin{bmatrix}\lambda_1u_1&\cdots&\lambda_nu_n\end{bmatrix}\begin{bmatrix}u_1^H\\\cdots\\u_n^H\end{bmatrix}\\&=\Sigma_{i=1}^n\lambda_iu_iu_i^H\end{aligned} A=[u1⋯un]diag(λ1,...,λn)⎣⎡u1H⋯unH⎦⎤=[λ1u1⋯λnun]⎣⎡u1H⋯unH⎦⎤=Σi=1nλiuiuiH于是我们可以将原矩阵A看成是它的不同特征的加权和。这样我们就可以对A的特征值按照模的大小排序,去掉模较小(注意特征值是复数,在PCA中我们会对一个实对称矩阵进行谱分解,此时特征值都是实数,直接比较大小就行)的特征值 λ \lambda λ对应的项 λ u u H \lambda uu^H λuuH,也就是去掉权重较小的项,就得到了A的一个近似矩阵。(显然,去掉模越接近0的特征值的对应项,得到的矩阵与原矩阵的近似程度越高)
不过,由于特征值分解的适用性有限,我们无法对任何矩阵都使用特征值分解的方法来求近似矩阵。但是,后面要说的奇异值分解是适用于任意矩阵的,而奇异值分解出的奇异值和奇异向量就类似于特征值和特征向量的作用,故奇异值分解可以用来“分解任意矩阵的特征”。在求任意矩阵的近似矩阵时,可以使用SVD的方法。
实正规矩阵的正交相似拟对角化(拓展内容)
我们在复数域下证明了正规矩阵必可酋对角化的结论,并且讨论了实矩阵可正交相似对角化的充要条件(即必须是实对称矩阵)。根据正规矩阵的定义可得,实正规矩阵就是满足 A T A = A A T A^TA=AA^T ATA=AAT的实矩阵。显然,实对称矩阵一定是实正规矩阵,但实正规矩阵不一定是实对称阵(例如 A = [ 1 1 − 1 1 ] A=\begin{bmatrix}1&1\\-1&1\end{bmatrix} A=[1−111]),因此并非所有实正规矩阵都可以正交相似对角化。然而,我们可以将它们“近似”对角化,即正交相似拟对角化。
拟对角阵具有如下形式: [ R 11 ⋱ R n n ] \begin{bmatrix}R_{11}&&\\&\ddots&\\&&R_{nn}\end{bmatrix} ⎣⎡R11⋱Rnn⎦⎤其中对角子块 R i i R_{ii} Rii是 1 × 1 1\times1 1×1矩阵或 2 × 2 2\times 2 2×2矩阵。拟对角阵是一种特殊的分块对角阵,分块对角阵也具有上述形式,只是对角子块不一定必须是 1 × 1 1\times1 1×1矩阵或 2 × 2 2\times 2 2×2矩阵,只要是方块就行了。
- 引理7:任意实的拟上三角阵 T T T,若 T T T是正规矩阵,则 T T T一定是拟对角阵,且 T T T的对角子块都是正规矩阵
证:(对 T T T对角线上的子块个数n进行归纳)
当 n = 1 n=1 n=1时, T T T本身就是正规的拟对角阵。假设命题对 n ⩽ k − 1 n\leqslant k-1 n⩽k−1成立,现证明命题对 n = k n=k n=k也成立。设 T = [ T 1 S O R ] T=\begin{bmatrix}T_1&S\\O&R\end{bmatrix} T=[T1OSR],其中 R R R是 1 × 1 1\times1 1×1矩阵或 2 × 2 2\times 2 2×2矩阵。 T T T = [ T 1 T O S T R T ] [ T 1 S O R ] = [ T 1 T T 1 T 1 T S S T T 1 S T S + R T R ] T^TT=\begin{bmatrix}T_1^T&O\\S^T&R^T\end{bmatrix}\begin{bmatrix}T_1&S\\O&R\end{bmatrix}=\begin{bmatrix}T_1^TT_1&T_1^TS\\S^TT_1&S^TS+R^TR\end{bmatrix} TTT=[T1TSTORT][T1OSR]=[T1TT1STT1T1TSSTS+RTR] T T T = [ T 1 S O R ] [ T 1 T O S T R T ] = [ T 1 T 1 T + S S T S R T R S T R R T ] TT^T=\begin{bmatrix}T_1&S\\O&R\end{bmatrix}\begin{bmatrix}T_1^T&O\\S^T&R^T\end{bmatrix}=\begin{bmatrix}T_1T_1^T+SS^T&SR^T\\RS^T&RR^T\end{bmatrix} TTT=[T1OSR][T1TSTORT]=[T1T1T+SSTRSTSRTRRT]由 T T T = T T T T^TT=TT^T TTT=TTT得 T 1 T T 1 = T 1 T 1 T + S S T T_1^TT_1=T_1T_1^T+SS^T T1TT1=T1T1T+SST且 R R T = S T S + R T R RR^T=S^TS+R^TR RRT=STS+RTR, t r ( R R T ) = t r ( S T S ) + t r ( R T R ) = t r ( S T S ) + t r ( R R T ) tr(RR^T)=tr(S^TS)+tr(R^TR)=tr(S^TS)+tr(RR^T) tr(RRT)=tr(STS)+tr(RTR)=tr(STS)+tr(RRT),故 t r ( S T S ) = 0 tr(S^TS)=0 tr(STS)=0,故 S = O S=O S=O, R T R = R R T R^TR=RR^T RTR=RRT, T 1 T T 1 = T 1 T 1 T T_1^TT_1=T_1T_1^T T1TT1=T1T1T。于是 T = [ T 1 O O R ] T=\begin{bmatrix}T_1&O\\O&R\end{bmatrix} T=[T1OOR],其中 T 1 T_1 T1是有 n − 1 n-1 n−1个对角子块的拟上三角阵,且 T 1 T_1 T1是正规矩阵,故由归纳假设知 T 1 T_1 T1是对角子块均为正规矩阵的拟对角阵。结合 R T R = R R T R^TR=RR^T RTR=RRT就知道 T T T也是对角子块均为正规矩阵的拟对角阵。证毕。
- 引理8:设 D = [ a b c d ] ∈ R 2 × 2 D=\begin{bmatrix}a&b\\c&d\end{bmatrix}\in R^{2\times 2} D=[acbd]∈R2×2,若 D D D是正规矩阵且 D D D有一对共轭的虚特征值,则 d = a , c = − b d=a,c=-b d=a,c=−b且 b ≠ 0 b\neq 0 b=0
证:
根据 D D D是正规矩阵可得 b 2 = c 2 b^2=c^2 b2=c2, a c + b d = a b + c d ac+bd=ab+cd ac+bd=ab+cd。假设 b = c b=c b=c,考虑 D D D的特征方程 λ 2 − ( a + d ) λ + ( a d − b c ) = 0 \lambda^2-(a+d)\lambda+(ad-bc)=0 λ2−(a+d)λ+(ad−bc)=0,这是一个二次方程,判别式 Δ = ( a + d ) 2 − 4 ( a d − b c ) = ( a − d ) 2 + 4 b 2 ⩾ 0 \Delta=(a+d)^2-4(ad-bc)=(a-d)^2+4b^2\geqslant 0 Δ=(a+d)2−4(ad−bc)=(a−d)2+4b2⩾0,故 D D D有实特征值,这与已知条件矛盾。故假设不成立, b ≠ c b\neq c b=c,根据 b 2 = c 2 b^2=c^2 b2=c2必有 c = − b c=-b c=−b,再根据 a c + b d = a b + c d ac+bd=ab+cd ac+bd=ab+cd可得 b ( d − a ) = 0 b(d-a)=0 b(d−a)=0。假设 b = 0 b=0 b=0,则 c = − b = 0 c=-b=0 c=−b=0, D D D成为一对角阵,这也与已知条件矛盾。故假设不成立,必有 b ≠ 0 b\neq 0 b=0,因此必有 d = a d=a d=a。证毕。
【注1】注意,虚数是指不是实数的复数,因此二阶矩阵 D D D有一对共轭的虚特征值就意味着 D D D没有实特征值。
【注2】在引理8的条件下, D D D的特征值就是 a ± b i a\pm bi a±bi。
- 定理24: A ∈ R n × n A\in R^{n\times n} A∈Rn×n是正规矩阵的充要条件为 A A A正交相似于一个满足如下条件的拟对角阵 T T T: T = [ R 11 ⋱ R n n ] T=\begin{bmatrix}R_{11}&&\\&\ddots&\\&&R_{nn}\end{bmatrix} T=⎣⎡R11⋱Rnn⎦⎤其中对角子块 R i i R_{ii} Rii是 1 × 1 1\times 1 1×1矩阵或具有如下形式的 2 × 2 2\times 2 2×2矩阵 R i i = [ a b − b a ] R_{ii}=\begin{bmatrix}a&b\\-b&a\end{bmatrix} Rii=[a−bba]满足 b ≠ 0 b\neq 0 b=0
证明:
必要性:根据定理15,存在 A A A的实Schur分解 A = P T P T A=PTP^T A=PTPT,其中 P P P是实正交矩阵, T T T是实的拟上三角阵,满足 T T T的对角子块要么是 1 × 1 1\times 1 1×1矩阵,要么是有一对共轭的虚特征值的 2 × 2 2\times 2 2×2矩阵。由 A A A是正规矩阵,将上式代入 A T A = A A T A^TA=AA^T ATA=AAT得 P T T T P T = P T T T P T PT^TTP^T=PTT^TP^T PTTTPT=PTTTPT,故 T T T = T T T T^TT=TT^T TTT=TTT,即 T T T是正规矩阵。由引理7知T是拟对角阵,且 T T T的每个对角子块都是正规矩阵。任取 T T T的一个 2 × 2 2\times 2 2×2对角子块 R i i R_{ii} Rii,则 R i i R_{ii} Rii是正规矩阵,且 R i i R_{ii} Rii有一对共轭的虚特征值,于是由引理8知 R i i R_{ii} Rii具有形式 R i i = [ a b − b a ] R_{ii}=\begin{bmatrix}a&b\\-b&a\end{bmatrix} Rii=[a−bba],其中 b ≠ 0 b\neq 0 b=0。得证。
充分性:若A正交相似于一个命题中所述的拟对角矩阵,即存在实正交矩阵 U U U和拟对角阵 T T T使得 A = U T U T A=UTU^T A=UTUT,其中 T T T如命题所述。则 A T A = U T T U T U T U T = U T T T U T A^TA=UT^TU^TUTU^T=UT^TTU^T ATA=UTTUTUTUT=UTTTUT, A A T = U T U T U T T U T = U T T T U T AA^T=UTU^TUT^TU^T=UTT^TU^T AAT=UTUTUTTUT=UTTTUT,注意到 T T T的对角子块都是正规矩阵(注意, 1 × 1 1\times 1 1×1矩阵本身就是正规的,而具有形式 [ a b − b a ] \begin{bmatrix}a&b\\-b&a\end{bmatrix} [a−bba]的 2 × 2 2\times 2 2×2矩阵经过计算可验证是正规的),故 T T T = T T T T^TT=TT^T TTT=TTT,故 A T A = A A T A^TA=AA^T ATA=AAT。
【注】实际上,拟对角阵 T T T可以限制得更严格一些,将原定理中的表述更改为“其中对角子块 R i i R_{ii} Rii是 1 × 1 1\times 1 1×1矩阵或具有形式 R i i = [ a b − b a ] R_{ii}=\begin{bmatrix}a&b\\-b&a\end{bmatrix} Rii=[a−bba]的 2 × 2 2\times 2 2×2矩阵,满足 b > 0 b>0 b>0”,则定理仍成立。这是因为当 b < 0 b<0 b<0时,总是可以作正交相似变换 [ 0 1 1 0 ] [ a b − b a ] [ 0 1 1 0 ] = [ a b ′ − b ′ a ] \begin{bmatrix}0&1\\1&0\end{bmatrix}\begin{bmatrix}a&b\\-b&a\end{bmatrix}\begin{bmatrix}0&1\\1&0\end{bmatrix}=\begin{bmatrix}a&b'\\-b'&a\end{bmatrix} [0110][a−bba][0110]=[a−b′b′a],使得 b ′ = − b > 0 b'=-b>0 b′=−b>0。
奇异值分解SVD(任意矩阵)
奇异值分解在机器学习领域的应用实在是太广泛了:数据压缩、推荐系统、自然语言处理等等到处都有它的身影。这里介绍奇异值分解的数学推导,建议数学推导之外多了解一些应用和直观的几何解释。推荐学习奇异值的几何意义以及奇异值分解与特征值分解的区别与联系,以上知乎链接中的回答多是从线性变换的角度来讲解奇异值分解(实际上矩阵的几何意义就是线性变换),这样能够较为直观得理解EVD和SVD。照片压缩直观地给出了奇异值分解在照片压缩上呈现的效果。
- 定义:设 A ∈ C r m × n A\in{C^{m\times{n}}_r} A∈Crm×n, A H A A^HA AHA的特征值为 λ 1 ⩾ λ 2 ⩾ . . . ⩾ λ r > λ r + 1 = . . . = λ n = 0 \lambda_1\geqslant \lambda_2\geqslant ...\geqslant\lambda_r\gt\lambda_{r+1}= ...=\lambda_n=0 λ1⩾λ2⩾...⩾λr>λr+1=...=λn=0称 σ i = λ i ( i = 1 , 2 , . . . , n ) 为 A 的 奇 异 值 \sigma_i=\sqrt \lambda_i(i=1,2,...,n)为A的奇异值 σi=λ i(i=1,2,...,n)为A的奇异值
【注1】关于 A H A A^HA AHA的特征值为什么都是非负实数的问题请参考链接),注意奇异值都是非负的
【注2】因为 r ( A H A ) = r ( A ) = r r(A^HA)=r(A)=r r(AHA)=r(A)=r,且 A H A A^HA AHA是一个n阶正规矩阵,故 A H A A^HA AHA的零特征值的代数重数是 n − r n-r n−r,这就是为什么 λ r + 1 = . . . = λ n = 0 \lambda_{r+1}=...=\lambda_n=0 λr+1=...=λn=0
【注3】网上看到有的人把 A H A A^HA AHA和 A A H AA^H AAH的特征值完全等同起来,这是不对的(它们差就差在零特征值上)。对奇异值的定义就是采用 A H A A^HA AHA的特征值来定义,用 A A H AA^H AAH来定义是不准确的。(不过这不会影响奇异值分解的结果)
奇异值的相关性质:
- 奇异值的酋不变性(旋转不变性):
- 定理25:设U是酋矩阵,则 U A UA UA的奇异值与 A A A的奇异值相同
证明: ( U A ) H ( U A ) = A H U H U A = A H A (UA)^H(UA)=A^HU^HUA=A^HA (UA)H(UA)=AHUHUA=AHA,故由奇异值的定义得 U A UA UA的奇异值与 A A A的奇异值相同。
- 定理26:设U是酋矩阵,则 A U AU AU的奇异值与 A A A的奇异值相同
证明: ( A U ) H ( A U ) = U H ( A H A ) U (AU)^H(AU)=U^H(A^HA)U (AU)H(AU)=UH(AHA)U,即 ( A U ) H ( A U ) (AU)^H(AU) (AU)H(AU)酋相似于 A H A A^HA AHA,故它们的特征值相同,由奇异值的定义得 A U AU AU的奇异值与 A A A的奇异值相同。
- 逆矩阵的奇异值:
- 定理27:设 A ∈ C n n × n A\in C^{n\times n}_n A∈Cnn×n,则 A A A的奇异值均非零。设 A A A的奇异值为 σ 1 ⩾ σ 2 ⩾ ⋯ ⩾ σ n > 0 \sigma_1\geqslant \sigma_2\geqslant\cdots\geqslant\sigma_n\gt 0 σ1⩾σ2⩾⋯⩾σn>0,则 A − 1 A^{-1} A−1的奇异值为 1 / σ n ⩾ 1 / σ n − 1 ⩾ ⋯ ⩾ 1 / σ 1 1/\sigma_n\geqslant1/\sigma_{n-1}\geqslant\cdots\geqslant1/\sigma_1 1/σn⩾1/σn−1⩾⋯⩾1/σ1
证明:
由奇异值定义的注释2知 A A A的奇异值均为正。设 A A H AA^H AAH的一个谱分解为 A A H = U Σ U H AA^H=U\Sigma U^H AAH=UΣUH,其中 Σ = d i a g ( λ 1 , λ 2 , ⋯ , λ n ) , λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ n > 0 \Sigma=diag(\lambda_1,\lambda_2,\cdots,\lambda_n),\lambda_1\geqslant\lambda_2\geqslant\cdots\geqslant\lambda_n\gt 0 Σ=diag(λ1,λ2,⋯,λn),λ1⩾λ2⩾⋯⩾λn>0。由于 A H A A^HA AHA和 A A H AA^H AAH的非零特征值相同,且同一非零特征值的代数重数相等,于是由奇异值的定义得 σ i = λ i , i = 1 , 2 , . . . , n \sigma_i=\sqrt{\lambda_i},i=1,2,...,n σi=λi ,i=1,2,...,n。因为 ( A − 1 ) H A − 1 = ( A A H ) − 1 = U Σ − 1 U H (A^{-1})^HA^{-1}=(AA^H)^{-1}=U\Sigma^{-1}U^H (A−1)HA−1=(AAH)−1=UΣ−1UH,于是由奇异值的定义得 A − 1 A^{-1} A−1的奇异值为 1 / λ n ⩾ 1 / λ n − 1 ⩾ ⋯ ⩾ 1 / λ 1 1/\sqrt{\lambda_n}\geqslant1/\sqrt{\lambda_{n-1}}\geqslant\cdots\geqslant1/\sqrt{\lambda_1} 1/λn ⩾1/λn−1 ⩾⋯⩾1/λ1 ,即 1 / σ n ⩾ 1 / σ n − 1 ⩾ ⋯ ⩾ 1 / σ 1 1/\sigma_n\geqslant1/\sigma_{n-1}\geqslant\cdots\geqslant1/\sigma_1 1/σn⩾1/σn−1⩾⋯⩾1/σ1。
- 正规矩阵的奇异值与特征值的关系:
- 定理28:设正规矩阵 A ∈ C n × n A\in C^{n\times n} A∈Cn×n的奇异值为 σ 1 ⩾ σ 2 ⩾ . . . ⩾ σ n \sigma_1 \geqslant \sigma_2\geqslant...\geqslant\sigma_n σ1⩾σ2⩾...⩾σn,特征值为 λ 1 , λ 2 , . . . , λ n \lambda_1,\lambda_2,...,\lambda_n λ1,λ2,...,λn满足 ∣ λ 1 ∣ ⩾ ∣ λ 2 ∣ ⩾ . . . ⩾ ∣ λ n ∣ |\lambda_1|\geqslant\ |\lambda_2|\geqslant ...\geqslant|\lambda_n| ∣λ1∣⩾ ∣λ2∣⩾...⩾∣λn∣,则 σ i = ∣ λ i ∣ , i = 1 , 2 , . . . , n \sigma_i=|\lambda_i|,i=1,2,...,n σi=∣λi∣,i=1,2,...,n
证明:
设A的一个谱分解为 A = U Σ U H A=U\Sigma U^H A=UΣUH,其中 Σ = d i a g ( λ 1 , λ 2 , . . . , λ n ) \Sigma = diag(\lambda_1,\lambda_2,...,\lambda_n) Σ=diag(λ1,λ2,...,λn),则 A H A = U Σ ‾ U H U Σ U H = U Σ ‾ Σ U H A^HA=U\overline{\Sigma}U^HU\Sigma U^H=U\overline{\Sigma}\Sigma U^H AHA=UΣUHUΣUH=UΣΣUH。注意到该式是 A H A A^HA AHA的一个谱分解,且 Σ ‾ Σ \overline{\Sigma}\Sigma ΣΣ的对角元为 ∣ λ 1 ∣ 2 ⩾ ∣ λ 2 ∣ 2 ⩾ . . . ⩾ ∣ λ n ∣ 2 |\lambda_1|^2\geqslant\ |\lambda_2|^2\geqslant ...\geqslant|\lambda_n|^2 ∣λ1∣2⩾ ∣λ2∣2⩾...⩾∣λn∣2,故根据奇异值的定义得 σ i = ∣ λ i ∣ , i = 1 , 2 , . . . , n \sigma_i=|\lambda_i|,i=1,2,...,n σi=∣λi∣,i=1,2,...,n。
定理28仅给出了正规矩阵的奇异值与特征值之间的关系。实际上,对于一般的方阵而言,奇异值和特征值之间也是有关系的(Shur不等式)。关于这一点的讨论需要借助Frobenius范数,详见后面的博客(链接)。
下面我们进入奇异值分解。
SVD的存在性定理
- 定义1:设 A ∈ C r m × n A\in{C^{m\times{n}}_r} A∈Crm×n,若存在m阶酋矩阵U和n阶酋矩阵V,以及 m × n m\times{n} m×n广义对角矩阵 Λ = [ Σ O O O ] \Lambda=\begin{bmatrix}\Sigma&O\\O&O\end{bmatrix} Λ=[ΣOOO],其中 Σ = d i a g ( σ 1 , . . . , σ r ) \Sigma=diag(\sigma_1,...,\sigma_r) Σ=diag(σ1,...,σr), σ 1 ⩾ . . ⩾ σ r > 0 \sigma_1\geqslant ..\geqslant \sigma_r>0 σ1⩾..⩾σr>0为A的非零奇异值,使得 A = U Λ V H A=U\Lambda V^H A=UΛVH,则称 A = U Λ V H A=U\Lambda V^H A=UΛVH是A的一个奇异值分解
【注1】由于在 Σ \Sigma Σ的对角线上 A A A的非零奇异值是从大到小排列的,故若 A A A的奇异值分解存在,则 Λ \Lambda Λ唯一。在有些资料的定义中,广义对角矩阵 Λ \Lambda Λ的对角线元素的大小顺序可以是任意的,但一般来说为便于分析更常约束 Λ \Lambda Λ的对角线元素从大到小排列。
【注2】由于 A H A A^HA AHA和 A A H AA^H AAH的非零特征值相同,且同一非零特征值的代数重数相等,故A的非零奇异值既是 A H A A^HA AHA的非零特征值的算数平方根,又是 A A H AA^H AAH的非零特征值的算数平方根。
【注3】由奇异值分解的定义及注2知,若 A = U Λ V H A=U\Lambda V^H A=UΛVH是A的一个奇异值分解,则 A H = V Λ U H A^H=V\Lambda U^H AH=VΛUH是 A H A^H AH的一个奇异值分解(但需注意的是, A A A的奇异值与 A H A^H AH的奇异值不完全等同,且只差在零奇异值上)
上述定义的条件可以减弱:
- 定义2:设 A ∈ C m × n A\in C^{m\times n} A∈Cm×n,若存在m阶酋矩阵 U U U和n阶酋矩阵 V V V,以及 m × n m\times{n} m×n广义对角矩阵 Λ = [ Σ O O O ] \Lambda=\begin{bmatrix}\Sigma&O\\O&O\end{bmatrix} Λ=[ΣOOO],其中 Σ = d i a g ( σ 1 , σ 2 , . . . , σ r ) \Sigma=diag(\sigma_1,\sigma_2,...,\sigma_r) Σ=diag(σ1,σ2,...,σr), σ 1 ⩾ σ 2 ⩾ . . . σ r > 0 \sigma_1\geqslant\sigma_2\geqslant...\sigma_r\gt 0 σ1⩾σ2⩾...σr>0,使得 A = U Λ V H A=U\Lambda V^H A=UΛVH,则称 A = U Λ V H A=U\Lambda V^H A=UΛVH是 A A A的一个奇异值分解
【注】注意定义1和定义2的区别:定义1中设 A ∈ C r m × n A\in{C^{m\times{n}}_r} A∈Crm×n,而定义2中设 A ∈ C m × n A\in C^{m\times n} A∈Cm×n,即 r r r在定义1中指明为 A A A的秩,而在定义2中并未指明;定义1中直接指明 σ 1 ⩾ σ 2 ⩾ . . . σ r > 0 \sigma_1\geqslant\sigma_2\geqslant...\sigma_r\gt 0 σ1⩾σ2⩾...σr>0为 A A A的非零奇异值,而在定义2中并未指明
这两个定义是等价的:
显然若定义1的条件被满足,则定义2的条件也被满足(定义2的条件相较于定义1弱化了)。
若定义2的条件被满足,则由 r ( A ) = r ( U Λ V H ) = r ( Λ ) = r ( Σ ) = r r(A)=r(U\Lambda V^H)=r(\Lambda)=r(\Sigma)=r r(A)=r(UΛVH)=r(Λ)=r(Σ)=r知 A ∈ C r m × n A\in C^{m\times n}_r A∈Crm×n(即 r r r恰为 A A A的秩),注意到 A H A = ( U Λ V H ) H ( U Λ V H ) = V Λ T U H U Λ V H = V Λ T Λ V H A^HA=(U\Lambda V^H)^H(U\Lambda V^H)=V\Lambda^TU^HU\Lambda V^H=V\Lambda^T\Lambda V^H AHA=(UΛVH)H(UΛVH)=VΛTUHUΛVH=VΛTΛVH是 A H A A^HA AHA的一个谱分解,于是 Λ T Λ \Lambda^T\Lambda ΛTΛ的非零对角线元素 σ 1 2 ⩾ σ 2 2 ⩾ . . . σ r 2 > 0 \sigma_1^2\geqslant\sigma_2^2\geqslant...\sigma_r^2\gt 0 σ12⩾σ22⩾...σr2>0恰为 A H A A^HA AHA的非零特征值,于是根据奇异值的定义得 σ 1 ⩾ σ 2 ⩾ . . . σ r > 0 \sigma_1\geqslant\sigma_2\geqslant...\sigma_r\gt 0 σ1⩾σ2⩾...σr>0是 A A A的非零奇异值,即定义1的条件也被满足。
下面我们证明任意矩阵的奇异值分解的存在性:
- 定理29:任意矩阵 A ∈ C r m × n A\in{C^{m\times{n}}_r} A∈Crm×n都存在奇异值分解 A = U Λ V H A=U\Lambda V^H A=UΛVH,其中U、V分别为m、n阶酋矩阵, Λ = [ Σ O O O ] \Lambda=\begin{bmatrix}\Sigma&O\\O&O\end{bmatrix} Λ=[ΣOOO], Σ = d i a g ( σ 1 , . . . , σ r ) \Sigma=diag(\sigma_1,...,\sigma_r) Σ=diag(σ1,...,σr), σ 1 ⩾ . . ⩾ σ r \sigma_1\geqslant ..\geqslant \sigma_r σ1⩾..⩾σr为A的非零奇异值
证明:
由于 A H A A^HA AHA是n阶正规矩阵,故存在n阶酋矩阵V使得 V H A H A V = [ Σ 2 O O O ] V^HA^HAV=\begin{bmatrix}\Sigma^2&O\\O&O\end{bmatrix} VHAHAV=[Σ2OOO]。将V分块 V = [ V 1 V 2 ] V=\begin{bmatrix}V_1&V_2\end{bmatrix} V=[V1V2],其中 V 1 V_1 V1是 n × r n\times{r} n×r矩阵, V 2 V_2 V2是 r × n r\times{n} r×n矩阵。则 V 1 H A H A V 1 = Σ 2 V_1^HA^HAV_1=\Sigma^2 V1HAHAV1=Σ2, V 2 H A H A V 2 = O V_2^HA^HAV_2=O V2HAHAV2=O,即 Σ − 1 V 1 H A H A V 1 Σ − 1 = I r \Sigma^{-1}V_1^HA^HAV_1\Sigma^{-1}=I_r Σ−1V1HAHAV1Σ−1=Ir, ( A V 2 ) H ( A V 2 ) = O (AV_2)^H(AV_2)=O (AV2)H(AV2)=O。设 U 1 = A V 1 Σ − 1 U_1=AV_1\Sigma^{-1} U1=AV1Σ−1,则有 U 1 H U 1 = I r U_1^HU_1=I_r U1HU1=Ir, A V 2 = O AV_2=O AV2=O。由于 U 1 U_1 U1的列向量组为单位正交向量组(注意是r个m维向量),故由扩充定理以及Schmidt正交化方法可将 U 1 U_1 U1的列向量组扩充为 C m C^m Cm的一组标准正交基,于是构造出m阶酋矩阵 U = [ U 1 U 2 ] U=\begin{bmatrix}U_1&U_2\end{bmatrix} U=[U1U2]。由 U H A V = [ U 1 H U 2 H ] A [ V 1 V 2 ] = [ U 1 H A V 1 U 1 H A V 2 U 2 H A V 1 U 2 H A V 2 ] = [ Σ O O O ] = Λ \begin{aligned}U^HAV&=\begin{bmatrix}U^H_1\\U^H_2\end{bmatrix}A\begin{bmatrix}V_1&V_2\end{bmatrix}\\&=\begin{bmatrix}U_1^HAV_1&U_1^HAV_2\\U_2^HAV_1&U_2^HAV_2\end{bmatrix}\\&=\begin{bmatrix}\Sigma&O\\O&O\end{bmatrix}=\Lambda\end{aligned} UHAV=[U1HU2H]A[V1V2]=[U1HAV1U2HAV1U1HAV2U2HAV2]=[ΣOOO]=Λ知 A = U Λ V H A=U\Lambda V^H A=UΛVH就是A的一个奇异值分解。
【注】该定理的证明实际上就是通过将 A H A A^HA AHA进行谱分解构造出A的一个奇异值分解。若A是一实矩阵,使用类似的构造方法(不同之处在于 A H A = A T A A^HA=A^TA AHA=ATA的谱分解应选择“实的”谱分解,且应将 U 1 U_1 U1的列向量组扩充为 R m R^m Rm的标准正交基)可知,A存在“实的”奇异值分解,即 A = U Λ V T A=U\Lambda V^T A=UΛVT,其中 U U U、 V V V是实正交矩阵, Λ \Lambda Λ是实广义对角矩阵。
SVD的构造方法(参考资料)
由定理29的证明过程可以看出,奇异值分解的构造是比较复杂的(先构造 A H A A^HA AHA的特征值分解,再构造 A A A的奇异值分解的话时间复杂度太高,且数值稳定性不好)。一般,奇异值分解采用如下算法:第一步用Householder变换将A化为双对角阵,第二步用QR分解或单边Jacobi旋转求双对角阵的SVD,复杂度可以到 O ( m n 2 ) O(mn^2) O(mn2),且有很好的数值稳定性。(详见英文维基百科)
SVD的性质
现在我们来认识一下奇异值分解的数学性质:
(以下均设 A ∈ C r m × n A\in{C^{m\times{n}}_r} A∈Crm×n且 A = U Λ V H A=U\Lambda V^H A=UΛVH是A的一个奇异值分解)
- 奇异值与奇异性的关系:若A是n阶方阵,则 ∣ d e t ( A ) ∣ = ∣ d e t ( U ) ∣ d e t ( Λ ) ∣ d e t ( V H ) ∣ = σ 1 σ 2 . . . σ n |det(A)|=|det(U)|det(\Lambda)|det(V^H)|=\sigma_1\sigma_2...\sigma_n ∣det(A)∣=∣det(U)∣det(Λ)∣det(VH)∣=σ1σ2...σn,可见A是非奇异的等价于A的奇异值都不为零
- 全奇异值分解与截尾奇异值分解:
- 全奇异值分解:就是前面我们所说的奇异值分解 A = U Λ V H A=U\Lambda V^H A=UΛVH。
- 截尾奇异值分解:设 U = [ U 1 U 2 ] U=\begin{bmatrix}U_1&U_2\end{bmatrix} U=[U1U2], V = [ V 1 V 2 ] V=\begin{bmatrix}V_1&V_2\end{bmatrix} V=[V1V2],其中 U 1 U_1 U1是U的前r列(注意r是A的秩), V 1 V_1 V1是V的前r列。则 A = U Λ V H = [ U 1 U 2 ] [ Σ r O O O ] [ V 1 H V 2 H ] = U 1 Σ r V 1 H A=U\Lambda V^H=\begin{bmatrix}U_1&U_2\end{bmatrix}\begin{bmatrix}\Sigma_r&O\\O&O\end{bmatrix}\begin{bmatrix}V_1^H\\V_2^H\end{bmatrix}=U_1\Sigma_rV_1^H A=UΛVH=[U1U2][ΣrOOO][V1HV2H]=U1ΣrV1H。称 A = U 1 Σ r V 1 H A=U_1\Sigma_rV_1^H A=U1ΣrV1H为A的截尾奇异值分解。
(注意:截尾奇异值分解表明,实际上酋矩阵U和V各自的子矩阵 U 1 U_1 U1和 V 1 V_1 V1和A的全部非零奇异值就已携带了原矩阵A的全部信息)
- 当A是满秩方阵时,A的截尾奇异值分解和全奇异值分解是等同的
- 如果仔细观察截尾奇异值分解式,会发现它是A的一个满秩分解: A = U 1 ( Σ r V 1 H ) A =U_1(\Sigma_rV_1^H) A=U1(ΣrV1H), U 1 U_1 U1是一列满秩矩阵, Σ r V 1 H \Sigma_rV^H_1 ΣrV1H是一行满秩矩阵;或者 A = ( U 1 Σ r ) V 1 H A=(U_1\Sigma_r)V_1^H A=(U1Σr)V1H, U 1 Σ r U_1\Sigma_r U1Σr是一列满秩矩阵, V 1 H V_1^H V1H是一行满秩矩阵;再或者 A = ( U 1 Σ r ) ( Σ r V 1 H ) A=(U_1\sqrt{\Sigma_r})(\sqrt{\Sigma_r}V_1^H) A=(U1Σr )(Σr V1H),其中 Σ r = d i a g ( σ 1 , . . . , σ r ) \sqrt{\Sigma_r}=diag(\sqrt{\sigma_1},...,{\sigma_r}) Σr =diag(σ1 ,...,σr), U 1 Σ r U_1\sqrt{\Sigma_r} U1Σr 是一列满秩矩阵, Σ r V 1 H \sqrt{\Sigma_r}V_1^H Σr V1H是一行满秩矩阵……等等。
- 认识酋矩阵U和V:
- 左奇异向量与右奇异向量:
U的列向量称为A的左奇异向量,V的列向量称为A的右奇异向量。
A A A的左奇异向量都是 A A H AA^H AAH的特征向量, A A A的右奇异向量都是 A H A A^HA AHA的特征向量。(原因:根据 A = U Λ V H A=U\Lambda V^H A=UΛVH,有 A A H = U Λ V H V Λ T U H = U ( Λ Λ T ) U H AA^H=U\Lambda V^HV\Lambda ^TU^H=U(\Lambda\Lambda^T)U^H AAH=UΛVHVΛTUH=U(ΛΛT)UH,注意这是 A A H AA^H AAH的一个谱分解,于是 U U U的列向量都是 A H A A^HA AHA的特征向量。同理,根据 A H A = V ( Λ T Λ ) V H A^HA=V(\Lambda^T\Lambda)V^H AHA=V(ΛTΛ)VH是 A H A A^HA AHA的一个谱分解就知道 V V V的列向量都是 A A H AA^H AAH的特征向量)
- 设 U = [ U 1 U 2 ] U=\begin{bmatrix}U_1&U_2\end{bmatrix} U=[U1U2],其中 U 1 U_1 U1是U的前 r r r列(注意r是A的秩)构成的子矩阵。则 U 1 U_1 U1的列向量组是A的列空间 R ( A ) R(A) R(A)的标准正交基, U 2 U_2 U2的列向量组是 A H A^H AH的零空间 N ( A H ) N(A^H) N(AH)的标准正交基
(原因:观察截尾奇异值分解式 A = U 1 ( Σ r V 1 H ) A=U_1(\Sigma_rV_1^H) A=U1(ΣrV1H),可见A的列向量组可由 U 1 U_1 U1的列向量组线性表示,又 d i m R ( A ) = r = r ( U 1 ) dim\ R(A)=r=r(U_1) dim R(A)=r=r(U1),所以 U 1 U_1 U1的列向量组是 R ( A ) R(A) R(A)的标准正交基;计算可得 A H U 2 = V 1 Σ r T U 1 H U 2 = V 1 Σ r T O = O A^HU_2=V_1\Sigma_r^TU_1^HU_2=V_1\Sigma_r^TO=O AHU2=V1ΣrTU1HU2=V1ΣrTO=O,又 d i m N ( A H ) = m − r = r ( U 2 ) dim\ N(A^H)=m-r=r(U_2) dim N(AH)=m−r=r(U2),所以 U 2 U_2 U2的列向量组是 N ( A H ) N(A^H) N(AH)的标准正交基)
【注】这说明奇异值分解可以用来求矩阵的列空间及其正交补的标准正交基。
- 设 V = [ V 1 V 2 ] V=\begin{bmatrix}V_1&V_2\end{bmatrix} V=[V1V2],其中 V 1 V_1 V1是V的前r列构成的子矩阵。则 V 1 V_1 V1的列向量组是 A H A^H AH的列空间 R ( A H ) R(A^H) R(AH)的一组标准正交基, V 2 V_2 V2的列向量组是A的零空间 N ( A ) N(A) N(A)的一组标准正交基
(原因和上面同理)
【注】这说明奇异值分解可以用来求矩阵的零空间及其正交补的标准正交基。
- SVD与EVD的关系
- 定理30:若A是Hermite半正定矩阵,则A的奇异值与A的特征值完全等同,A的一个特征值分解是A的一个奇异值分解
证明:
若A是Hermite半正定矩阵,则A的特征值(为实数)均非负。设n阶方阵 A A A的一个谱分解为 A = U Λ U H A=U\Lambda U^H A=UΛUH,其中 Λ = d i a g ( λ 1 , . . . , λ n ) \Lambda=diag(\lambda_1,...,\lambda_n) Λ=diag(λ1,...,λn),则 A H A = A 2 = U Λ U H U Λ U H = U Λ 2 U H A^HA=A^2=U\Lambda U^HU\Lambda U^H=U\Lambda^2 U^H AHA=A2=UΛUHUΛUH=UΛ2UH。这说明 A H A A^HA AHA的特征值为 λ 1 2 , . . . , λ n 2 \lambda_1^2,...,\lambda_n^2 λ12,...,λn2,故由奇异值的定义知A的奇异值 σ i = λ i 2 = λ i , i = 1 , 2 , . . . , n \sigma_i=\sqrt{\lambda_i^2}=\lambda_i,i=1,2,...,n σi=λi2 =λi,i=1,2,...,n,即A的奇异值与特征值等同。进而由奇异值分解的定义知 A = U Λ U H A=U\Lambda U^H A=UΛUH是A的一个奇异值分解。
SVD用于求矩阵的逼近
奇异值分解可以视作方阵(正规矩阵)的特征值分解在一般的长方矩阵上的推广,奇异值和奇异向量是描述长方矩阵的特征的量,这一点可以通过照片压缩的例子直观地理解。和特征值分解一样,奇异值分解可以改写成矩阵的特征的加权和:由 A ∈ C r m × n A\in{C^{m\times{n}}_r} A∈Crm×n的截尾奇异值分解式 A = U 1 Σ r V 1 H A=U_1\Sigma_rV_1^H A=U1ΣrV1H,若设 U 1 = [ u 1 . . . u r ] U_1=\begin{bmatrix}u_1&...u_r\end{bmatrix} U1=[u1...ur], V 1 = [ v 1 . . . v r ] V_1=\begin{bmatrix}v_1&...v_r\end{bmatrix} V1=[v1...vr],则有 A = Σ i = 1 r σ i u i v i H A=\Sigma_{i=1}^r\sigma_iu_iv_i^H A=Σi=1rσiuiviH在求A的近似矩阵时,只要去掉奇异值较小的项即可(等价于在奇异值分解式中令对角矩阵上相应的奇异值为零)。另外,注意到 r ( A ) = r ( U 1 Σ r V 1 H ) = r ( Σ r ) r(A)=r(U_1\Sigma_rV_1^H)=r(\Sigma_r) r(A)=r(U1ΣrV1H)=r(Σr),故每去掉 A = Σ i = 1 r σ i u i v i H A=\Sigma_{i=1}^r\sigma_iu_iv_i^H A=Σi=1rσiuiviH中的一项, A A A的秩就减少1,所以这样求得的近似矩阵实际上是对原矩阵的低秩逼近。这种方法可以实现对数据的去噪、压缩等。还有一点比较有趣, σ i u i v i H \sigma_iu_iv_i^H σiuiviH是一个秩为1的矩阵(因为 r ( σ i u i v i H ) ⩽ r ( u i ) = 1 r(\sigma_iu_iv_i^H)\leqslant r(u_i)=1 r(σiuiviH)⩽r(u