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

奇异值分解 SVD分解

时间:2021-02-08 12:09:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:去掉   去除   time   line   形式   UNC   分解   span   class   

\(若A \in \mathbb{R}^{m\times n},rank(A) = r,则有SVD分解\) :

\[A = UDV \]

\(SVD分解有三种形式\)

  • \(full \ SVD:\) $ U,V是方阵,且为酉阵,U \in \mathbb{C}^{m\times m},V\in\mathbb{^{n\times n}},D\in\mathbb{R}^{m\times n},且D对角线上为n个奇异值。$
  • \(reduced \ SVD\):\(U,V为半酉阵,U\in\mathbb{R}^{m\times n},V\in \mathbb{R}^{n\times r},D\in\mathbb{R}^{n\times n}且D对角线上为n个奇异值\)
  • $truncated \ SVD \(:\)P,Q为半酉阵,P\in\mathbb{R}^{m\times k},Q\in \mathbb{R}^{k\times r},k取前k个最大的奇异值,多用于数据降维$。

定理1: \(对于任意矩阵A,有A^HA与AA^H为半正定Hermite阵\)

证明:略

定理2:$设A\in\mathbb{C}^{m\times n}_r,\lambda_i为AHA的正特征值,\mu_i为AHA的正特征值,r\geq i\geq1,x_i为AAH的特征向量,则AHx为A^HA的\特征向量,且有: $

\[\lambda_i = \mu_i >0\\]

证明:

\(由于A^HAx=\lambda_ix(\lambda_i\neq0) , ,两端同时乘以A矩阵,则有\)

\[(A^HA)A^Hx=\lambda_iA^Hx \]

\(则\lambda_i为AA^H的正特征值。 故AA^H和A^HA具有相同的特征值,且若x为AA^H的特征向量,则A^Hx为A^HA的特征向量\)

引理1\(若\frac{x_i}{|x_i|}为AA^H的非零特征值\lambda_i单位特征向量,则\frac{1}{\sqrt{\lambda_i}}A^H\frac{x_i}{|x_i|} 为A^HA的特征值\lambda_i对应的单位特征向量\)

证明:显然

\[\frac{1}{\sqrt{\lambda_i}}A^H\frac{x_i}{|x_i|} = \frac{A^Hx_i}{|A^Hx_i|} \]

\(设A\in\mathbb{C}^{m\times n}_r,U为AA^H得单位特征向量组成的矩阵,V为A^HA单位特征向量组成的矩阵,因为AA^H为正规矩阵,则有\)

\[U^H\mathop{AA^H}_{m \times m}U = \mathop{DD}_{m\times m} \]

\(其中U\in\mathbb{C}^{m\times m},设\lambda_1,\lambda_2...\lambda_r为AA^H的非零特征值,x_1,x_2,...,x_r为对应的特征向量,x_{r+1},...x_m为AA^H0特征值\\对应的特征向量,x‘_{r+1},...,x‘_n为A^HA矩阵0特征值对应的特征向量,则有\)

\[\mathop{U}_{m\times m} = [\frac{x_1}{|x_1|},\frac{x_2}{|x_2|},...,\frac{x_r}{|x_r|},...,\frac{x_m}{|x_m|}] \]

\[\mathop{V}_{n\times n} = [\frac{A^Hx_1}{|A^Hx_1|},\frac{A^Hx_2}{|A^Hx_2|},...,\frac{A^Hx_r}{|A^Hx_r|},x‘_{r+1},...,x‘_n] \]

\[\mathop{D}_{m\times m} = diag\{\sqrt{\lambda_1},\sqrt{\lambda_2},...,\sqrt{\lambda_r},0,...,0\} \]

\(由于0特征值以及对应的特征向量在运算中不起作用,可以去除,则\)

\[U^{‘H}\mathop{AA^H}_{m \times m}U^{‘} = \mathop{D^{‘}D^{‘}}_{r\times r} \]

\[\mathop{U^{‘}}_{m\times r} = [\frac{x_1}{|x_1|},\frac{x_2}{|x_2|},...,\frac{x_r}{|x_r|}] \]

\[\mathop{D^{‘}}_{r\times r} = diag\{\sqrt{\lambda_1},\sqrt{\lambda_2},...,\sqrt{\lambda_r}\} \]

\(取V‘\)

\[\mathop{V^{‘}}_{m\times r} = [\frac{A^Hx_1}{|A^Hx_1|},\frac{A^Hx_2}{|A^Hx_2|},...,\frac{A^Hx_r}{|A^Hx_r|}] \]

\(由引理1 得\)

\[\begin{aligned} U^{‘H}AA^HU‘ & = U^{‘H}A[\frac{A^Hx_1}{|x_1|},\frac{A^Hx_2}{|x_2|},...,\frac{A^Hx_r}{|x_r|}]=U^{‘H}AV‘D \end{aligned} \]

\[\mathop{U^{‘H}}_{r\times m} \mathop{A}_{m\times n} \mathop{V^{‘}}_{n\times r} = \mathop{D^{‘}}_{r\times r} \]

\(将矩阵U‘,V‘分别扩充为U,V,将D‘分别向右方和下方扩充为m\times n维矩阵,扩充部分均为0,有\)

\[\mathop{U^{H}}_{m\times m} \mathop{A}_{m\times n} \mathop{V}_{n\times n} = \mathop{D‘‘}_{m\times n} \]

\(即\)

\[\mathop{A}_{m\times n} = \mathop{U}_{m\times m} \mathop{D‘‘}_{m\times n} \mathop{V^H}_{n\times n} \]

\(即为 full \ SVD\)

\(将full \ SVD形式中零特征值对应的部分全部去掉,即得到reduced \ SVD,即:\)

\[\mathop{A}_{m\times n} = \mathop{U}_{m\times r} \mathop{D‘}_{r\times r} \mathop{V^H}_{r\times n} \]

奇异值分解 SVD分解

标签:去掉   去除   time   line   形式   UNC   分解   span   class   

原文地址:https://www.cnblogs.com/YaokaiCheng/p/14383583.html

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