SVD分解
Posted codedog123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVD分解相关的知识,希望对你有一定的参考价值。
正奇异值:设$A=A_{m imes n}, rank(A)=p>0$,则$lambda ({A^H}A)$与$lambda (A{A^H})$恰有p个正特征根,${lambda _1} > 0,{lambda _2} > 0,...,{lambda _p} > 0$
$lambda ({A^H}A) = { {lambda _1},{lambda _2},...,{lambda _p},0,...,0} $ n-p个0
$lambda (A{A^H}) = { {lambda _1},{lambda _2},...,{lambda _p},0,...,0} $ m-p个0
称$sqrt {{lambda _1}} ,sqrt {{lambda _2}} ,,...,sqrt {{lambda _p}} $为正奇异值,记为$S^{+}(A) = { sqrt {{lambda _1}} ,sqrt {{lambda _2}} ,,...,sqrt {{lambda _p}} } $
正奇异值分解:任意$A=A_{m imes n}$,秩$rank(A)=r>0$,则有$A = PDelta {Q^H}$,
[Delta {
m{ = }}left[ {egin{array}{*{20}{c}}
{sqrt {{lambda _1}} }&0&0&0\
0&{sqrt {{lambda _2}} }&0&0\
0&0&{...}&0\
0&0&0&{sqrt {{lambda _p}} }
end{array}}
ight]]
P和Q为半酉阵,$P^HP=Q^HQ=I$
(1)求$lambda (A{A^H}) = lambda ({A^H}A) = { {lambda _1},{lambda _2},...,{lambda _p}$与特征向量$x_1,x_2,...,x_r$
(2)令这里的$x_1,x_2,...,x_r$得互相垂直
[P = left[ {egin{array}{*{20}{c}}
{frac{{A{X_1}}}{{left| {A{X_1}}
ight|}}}&{frac{{A{X_2}}}{{left| {A{X_2}}
ight|}}}&{...}&{frac{{A{X_r}}}{{left| {A{X_r}}
ight|}}}
end{array}}
ight]]
[Q = left[ {egin{array}{*{20}{c}}
{frac{{{X_1}}}{{left| {{X_1}}
ight|}}}&{frac{{{X_2}}}{{left| {{X_2}}
ight|}}}&{...}&{frac{{{X_r}}}{{left| {{X_r}}
ight|}}}
end{array}}
ight]]
$P=P_{m imes r}, Q=Q_{n imes r}$
(3)有$A = PDelta {Q^H}$
奇异值分解:
(1)根据正奇异值分解得到$A = PDelta {Q^H}
(2)扩充$W=[Q_{m imes r},Q_{m imes (n-r)}], V=[P_{n imes r},P_{n imes (n-r)}]$使得P和Q为从半酉阵扩展为酉阵
(3)$Delta_{r imes r}$0扩充为$Delta_{n imes n}$
[D {
m{ = }}left[ {egin{array}{*{20}{c}}
Delta &0\
0&0
end{array}}
ight]]
(4)有
[{
m{A = W}}left[ {egin{array}{*{20}{c}}
Delta &0\
0&0
end{array}}
ight]{V^H}]
证明:
[{
m{A = W}}left[ {egin{array}{*{20}{c}}
Delta &0\
0&0
end{array}}
ight]{V^H} = left[ {egin{array}{*{20}{c}}
{{P_{m imes r}}}&{{P_{m imes (m - r)}}}
end{array}}
ight]{left[ {egin{array}{*{20}{c}}
Delta &0\
0&0
end{array}}
ight]_{m imes n}}{left[ {egin{array}{*{20}{c}}
{{Q_{n imes r}}}&{{Q_{n imes (n - r)}}}
end{array}}
ight]^H} = {P_{m imes r}}Delta {Q_{n imes r}} = A]
奇异值分解性质:
(1)方阵$A=A_{n imes n}$,有$S_1S_2...S_n=|det(A)|=$|lambda_1lambda_2...lambda_n|$
[lambda (A) = { {lambda _1},{lambda _1},...,{lambda _n}} ]
[lambda (A{A^H}) = lambda ({A^H}A) = { {t_1},{t_2},...,{t_n}} ]
[S(A) = { sqrt {{t_1}} ,sqrt {{t_2}} ,...,sqrt {{t_n}} } ]
有:
[sqrt {{t_1}} sqrt {{t_2}} ...sqrt {{t_n}} = left| {det (A)} ight| = left| {{lambda _1}{lambda _1}...{lambda _n}} ight|]
证明:
[det ({A^H}A) = det (A{A^H}) = det ({A^H})det (A) = det (overline {{A^T}} )det (A) = overline {det (A)} det (A) = {left| {det (A)} ight|^2} Rightarrow det ({A^H}A) = {left| {det (A)} ight|^2}]
[det ({A^H}A) = {t_1}{t_2}...{t_n} = {({S_1}{S_2}...{S_n})^2}]
[{left| {det (A)} ight|^2} = {left| {{lambda _1}{lambda _1}...{lambda _n}} ight|^2}]
[{({S_1}{S_2}...{S_n})^2} = {left| {det (A)} ight|^2} = {left| {{lambda _1}{lambda _1}...{lambda _n}} ight|^2} Rightarrow ({S_1}{S_2}...{S_n}) = left| {det (A)} ight| = left| {{lambda _1}{lambda _1}...{lambda _n}} ight|]
所以:
[({S_1}{S_2}...{S_n}) = left| {det (A)} ight| = left| {{lambda _1}{lambda _1}...{lambda _n}} ight|]
正SVD分解性质
(1)${ m{A}} = PDelta {Q^H} Rightarrow {A^H} = Q{Delta ^H}{P^H}$
(2)由正SVD:$A=P delta Q^H$:
[Delta {
m{ = }}left[ {egin{array}{*{20}{c}}
{sqrt {{lambda _1}} }&0&0&0\
0&{sqrt {{lambda _2}} }&0&0\
0&0&{...}&0\
0&0&0&{sqrt {{lambda _p}} }
end{array}}
ight]]
[P = left[ {egin{array}{*{20}{c}}
{{X_1}}&{{X_2}}&{...}&{{X_r}}
end{array}}
ight]({X_1} ot {X_2} ot ... ot {X_r})]
[Q = left[ {egin{array}{*{20}{c}}
{{Y_1}}&{{Y_2}}&{...}&{{Y_r}}
end{array}}
ight]({Y_1} ot {Y_2} ot ... ot {Y_r})]
有:
[A = left[ {egin{array}{*{20}{c}}
{{X_1}}&{{X_2}}&{...}&{{X_r}}
end{array}}
ight]left[ {egin{array}{*{20}{c}}
{sqrt {{lambda _1}} }&0&0&0\
0&{sqrt {{lambda _2}} }&0&0\
0&0&{...}&0\
0&0&0&{sqrt {{lambda _r}} }
end{array}}
ight]left[ {egin{array}{*{20}{c}}
{Y_1^H}\
{egin{array}{*{20}{c}}
{Y_2^H}\
{...}
end{array}}\
{Y_r^H}
end{array}}
ight] = sqrt {{lambda _1}} {X_1}Y_1^H + ... + sqrt {{lambda _r}} {X_r}Y_r^H]
可以令$sqrt {{lambda _1}} ge sqrt {{lambda _2}} ge ... ge sqrt {{lambda _r}} $
[A{ m{ = }}sqrt {{lambda _1}} {X_1}Y_1^H + ... + sqrt {{lambda _r}} {X_r}Y_r^H approx sqrt {{lambda _1}} {X_1}Y_1^H]
可以近似表达A
(3)
[A = {A_{m imes n}},{S^ + }(A) = { {S_1},{S_2},...,{S_r}} Rightarrow tr({A^H}A) = tr(A{A^H}) = sum {{{left| {{a_{ij}}} ight|}^2}} ]
以上是关于SVD分解的主要内容,如果未能解决你的问题,请参考以下文章