700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 矩阵分析之 实矩阵分解(1)特征分解与奇异值分解SVD

矩阵分析之 实矩阵分解(1)特征分解与奇异值分解SVD

时间:2023-03-03 15:27:55

相关推荐

矩阵分析之 实矩阵分解(1)特征分解与奇异值分解SVD

矩阵分析之 实矩阵分解(1)特征分解与奇异值分解

前言特征分解(又称谱分解、对角化)奇异值分解SVDSVD的进一步理解

前言

本篇开始学习记录矩阵分解内容。需要说明的是,目前我所触及的矩阵基本上没有出现复数域,因此所做的讨论都局限于实矩阵分析。

特征分解(又称谱分解、对角化)

n阶方阵AAA具有n个线性无关的特征向量时,可以将AAA特征分解为可逆矩阵与对角矩阵的乘积:

A=PΛP−1A=P\Lambda P^{-1} A=PΛP−1

其中,PPP是对应于Λ\LambdaΛ主对角特征值的特征向量组。特征分解的方法可能不唯一。

此外,如果AAA是实对称矩阵,则必然存在正交矩阵QQQ使得A=QΛQTA=Q\Lambda Q^TA=QΛQT。

奇异值分解SVD

特征分解不仅要求矩阵是方阵,而且方阵的线性无关的特征向量要与阶数相同。而数值计算中许多线性方程都不适定,矩阵行列数不一致。奇异值分解SVD弥补了这个缺陷。

对于任意矩阵A∈Rm×nA\in R^{m\times n}A∈Rm×n,都可以进行进行奇异值分解A=UΣVTA=U\Sigma V^TA=UΣVT,其中U,VU,VU,V是正交矩阵,Σ\SigmaΣ是半正定对角矩阵,主对角元素包含大于0的奇异值和0。

奇异值

对于矩阵A∈Rm×nA\in R^{m\times n}A∈Rm×n,其奇异值是ATAA^TAATA的特征值的算术平方根λ\sqrt{\lambda}λ​,通常将奇异值从大到小进行排列。

奇异值分解

由SVD式可得到ATAA^TAATA和AATAA^TAAT:

ATA=VΣTUTUΣVT=VΣ2VTAAT=UΣVTVΣTUT=UΣ2UTA^TA=V\Sigma^TU^TU\Sigma V^T=V\Sigma^2V^T \\ AA^T = U\Sigma V^TV\Sigma^TU^T =U\Sigma^2U^T \\ ATA=VΣTUTUΣVT=VΣ2VTAAT=UΣVTVΣTUT=UΣ2UT

又ATA,AATA^TA,AA^TATA,AAT都是n阶实对称矩阵,可以进行正交对角化,则V,UV,UV,U实际上就是使ATA,AATA^TA,AA^TATA,AAT正交对角化的正交矩阵。

SVD过程举例

A=[100100]ATA=[200000000]λ=2,0,0,x1=(1,0,0)T,x2=(0,1,0)T,x3=(0,0,1)TAAT=[1111]λ=2,0,x1=(2/2,2/2),x2=(−2/2,2/2)U=[2/2−2/22/22/2],V=[100010001],Σ=[200000]UΣVT=[100100]=AA=\begin{bmatrix} 1 & 0 & 0 \\ 1 & 0 & 0 \\ \end{bmatrix} \\ \quad \\ A^TA=\begin{bmatrix} 2 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} \\ \quad \\ \lambda = 2,0,0,x_1=(1,0,0)^T,x_2=(0,1,0)^T,x_3=(0,0,1)^T \\ \quad \\ AA^T = \begin{bmatrix} 1 & 1 \\ 1 & 1 \\ \end{bmatrix} \\ \quad \\ \lambda=2,0,x_1=(\sqrt2/2,\sqrt2/2),x_2=(-\sqrt2/2,\sqrt2/2) \\ \quad \\ U=\begin{bmatrix} \sqrt2/2 & -\sqrt2/2 \\ \sqrt2/2 & \sqrt2/2 \\ \end{bmatrix}, V=\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}, \Sigma=\begin{bmatrix} \sqrt2 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} \\ \quad \\ U\Sigma V^T=\begin{bmatrix} 1 & 0 & 0 \\ 1 & 0 & 0 \\ \end{bmatrix} = A A=[11​00​00​]ATA=⎣⎡​200​000​000​⎦⎤​λ=2,0,0,x1​=(1,0,0)T,x2​=(0,1,0)T,x3​=(0,0,1)TAAT=[11​11​]λ=2,0,x1​=(2​/2,2​/2),x2​=(−2​/2,2​/2)U=[2​/22​/2​−2​/22​/2​],V=⎣⎡​100​010​001​⎦⎤​,Σ=[2​0​00​00​]UΣVT=[11​00​00​]=A

SVD的进一步理解

假设有一个矩阵A∈Rm×nA\in R^{m\times n}A∈Rm×n,对于线性变换有Ax=UΣVTx,x∈Rn。U,VAx=U\Sigma V^Tx,x\in R^n。U,VAx=UΣVTx,x∈Rn。U,V都是正交矩阵,因此可以看作两个单位正交基。

Ax=UΣVTx,x∈RnAx=U\Sigma V^Tx,x\in R^nAx=UΣVTx,x∈Rn,将xxx视为在正交基VVV上的线性组合,则VTxV^TxVTx表示对xxx进行一次旋转,旋转的结果使得xxx映射回到标准基上(如(1,0),(0,1)),ΣVTx\Sigma V^TxΣVTx表示将标准基的基向量进行比例伸缩,UΣVTxU\Sigma V^TxUΣVTx表示将比例伸缩后的基再旋转到新的方向上。

因此,SVD中,VTV^TVT表征了原正交基的旋转,UUU表征了新基的旋转,奇异值刻画了原正交基旋转后各个基方向的伸缩情况(也即每个基的重要程度)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。