码迷,mamicode.com
首页 > 其他好文 > 详细

奇异值分解(SVD)

时间:2019-10-20 16:04:22      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:coding   odi   less   matrix   问题   time   html   end   要求   

0 - 特征值分解(EVD)

奇异值分解之前需要用到特征值分解,回顾一下特征值分解。

假设$A_{m \times m}$是一个是对称矩阵($A=A^T$),则可以被分解为如下形式,

$$A_{m\times m}=Q_{m\times m}\Sigma_{m\times m} Q_{m\times m}^T=Q_{m\times m}\begin{bmatrix}\lambda_1 & 0 & 0 & 0 \\ 0 & \lambda_2 & 0 & 0 \\ 0 & 0 & \ddots & 0 \\0 & 0 & 0 & \lambda_m \end{bmatrix}Q_{m\times m}^T,$$

其中$Q_{m\times m}$为标准正交矩阵,即$Q_{m\times m}Q_{m\times m}^T=I_{m\times m}$,$\Sigma_{m\times m}$为对角矩阵,$\lambda_i$为特征值。

注意到,特征值分解要求被分解的矩阵必须是实对称矩阵!

1 - 奇异值分解(SVD)

由于现实遇到的问题中的矩阵很难保证是实对称矩阵,奇异值分解便可以处理更加广泛的矩阵。

1.0 - 定义

对于实数矩阵$A_{m\times n}$,可以将其分解为如下形式,

$$A_{m\times n}=U_{m\times m}\Sigma_{m\times n} V_{n\times n}^T=U_{m\times m}\begin{bmatrix}\sigma_1 & 0 & 0 & 0 \\ 0 & \sigma_2 & 0 & 0 \\ 0 & 0 & \ddots & 0 \\ 0 & 0 & 0 & \ddots \end{bmatrix}_{m\times n}V_{n\times n}^T,$$

其中$U_{m\times m}$和$V_{n\times n}$分别为左奇异矩阵和右奇异矩阵,且均为标准正交矩阵($U_{m\times m}U_{m\times m}^T=I_{m\times m}$和$V_{n\times n}V_{n\times n}^T=I_{n\times n}$),$\sigma_i$称为奇异值,$Q$(特征矩阵)中的每一列$q_i$为$\sigma_i$对应的特征向量。

1.1 - 求解

注意到,有如下性质,

$$AA^T=U\Sigma V^TV\Sigma^T U^T\&=U\Sigma\Sigma^T U^T=U\begin{bmatrix}\sigma_1^2 & 0 & 0 & 0\\ 0 & \sigma_2^2 & 0 & 0\\ 0 & 0 & \ddots & 0\\ 0 & 0 & 0 & \ddots\end{bmatrix}_{m\times m}U^T,$$

$$A^TA=V\Sigma^T U^TU\Sigma V^T=V\Sigma^T\Sigma V^T=V\begin{bmatrix}\sigma_1^2 & 0 & 0 & 0\\ 0 & \sigma_2^2 & 0 & 0\\ 0 & 0 & \ddots & 0\\ 0 & 0 & 0 & \ddots\end{bmatrix}_{n\times n}V^T,$$

其中,$AA^T$和$A^TA$均为实对称矩阵,由上述两式可得,$\Sigma\Sigma^T$和$\Sigma^T\Sigma$分别为$AA^T$和$A^TA$经过矩阵分解之后的特征值矩阵,因此对特征值矩阵开方即可得到奇异值矩阵。

2 - 参考资料

https://www.cnblogs.com/endlesscoding/p/10033527.html

奇异值分解(SVD)

标签:coding   odi   less   matrix   问题   time   html   end   要求   

原文地址:https://www.cnblogs.com/CZiFan/p/11707616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!