奇异值分解推导及相关知识补充

相关数学知识补充

矩阵的秩

定义
矩阵A中不为零的子式的最高阶数,称为矩阵A的秩,记作r(A)。零矩阵的秩为0。
性质

  1. 秩是一个正整数或0。
  2. 秩等于或小于矩阵的行数和列数。秩等于或小于矩阵的行数和列数。
  3. 当n×n矩阵A的秩等于n时,则称A是非奇异矩阵,或称A满秩。
  4. 若r(Am×n)<min{m,n},则称A是秩亏缺的。
  5. 若r(Am×n)=m(<n),则称矩阵A具有满行秩。
  6. 若r(Am×n)=n(<m),则称矩阵A具有满列秩。
  7. 任何矩阵A左乘满列秩矩阵或者右乘满行秩矩阵后,矩阵A的秩保持不变。

意义
「秩」是矩阵中所有行向量中极大线性代无关组的元素个数。
「秩」是图像经过矩阵变换之后的空间维度。

正交矩阵(orthogonal matrix)

定义
如果AAT = E或ATA = E,则n阶实矩阵A称为正交矩阵。
性质
若A是正交矩阵,则满足:

  1. AT,A-1与A*也是正交矩阵(其中 A* 是 A的共轭转置。);
  2. A的各行各列是单位向量且两两正交;
  3. (Ax,Ay)=(x,y) 其中x,y∈R;
  4. AT = A-1
  5. 正交矩阵相似于对角矩阵。

SVD推导的相关引理

引理1

内容:假设A ϵ\epsilon Rm×n^{m\times n}, 则ATAAATA^T A与A A^T的特征值 (eigenvalue)非负。
证明:
假设λ\lambda 为AT A的特征值,x是它对应的特征向量,即
ATAx=λxA^T Ax=\lambda x
由于ATAA^T A是 对称的,故 λ\lambda 是一个实数,因此我们有:
0(Ax,Ax)=(Ax)T(Ax)=xTATAx=xTλx=λxTx0\leqq(Ax, Ax)=(Ax)^T(Ax)=x^TA^TAx=x^T\lambda x=\lambda x^Tx
因为xTx > 0,因此我们可以得到λ0\lambda \geqq 0
同理,我们可以知道AATA A^T的特征值也是非负的。
 

引理2

内容:假设A ϵ\epsilon Rm×n^{m\times n}, 则我们有r(A) = r(ATA) = r(AAT)
证明:
要证明r(A) = r(ATA) = r(AAT),相当于证明Ax=0ATAx=0有相同的解。
 
Ax=0 \Rightarrow ATAx=0
ATAx=0 \Rightarrow xTATAx=0 \Rightarrow (Ax)TAx=0 \Rightarrow Ax=0
 
由此,可以得到Ax=0 \Leftrightarrow ATAx=0
Ax=0和ATAx=0有相同的解,故A与ATA核相等,所以秩相等可证。
 

引理3

内容:假设A ϵ\epsilon Rm×n^{m\times n}, ATA与AAT有相同的特征值。
证明:
假设λ\lambda 为AT A的特征值,x是它对应的特征向量,即
ATAx=λxA^T Ax=\lambda x

ATAx=λxAATAx=λAxAATy=λyA^T Ax=\lambda x \Rightarrow AA^T Ax=\lambda Ax \Rightarrow AA^T y=\lambda y
故可证得ATA与AAT有相同的λ\lambda

引理4

内容:如果两个矩阵是彼此正交等价,那么它们的奇异值相同。
证明:
假设A ,B ϵ\epsilon Rm×n^{m\times n}, 彼此正交等价,则存在正交矩阵U ϵ\epsilon Rm×m^{m\times m}, Vϵ\epsilon Rn×n^{n\times n}, s.t. A=UBV.
若A,B彼此正交相似,则存在正交矩阵P,使得 P-1BP=A
 
ATA = (UBV)TUBV = VTBTUTUBV = VTBTBV = V-1BTBV
 
故可得到 ATA 与BTB彼此正交相似,因此它们有相同的λ\lambda
奇异值σ\sigma = λ\sqrt \lambda, 故两者的奇异值相同。
 

SVD推导

A = UΣ\SigmaVT
证明:
\because ATA为对称矩阵(证:(ATA)T=AT(AT)T=ATA)
(对称矩阵性质:若A为对称矩阵,必存在正交矩阵,将其化为对角矩阵,且对角矩阵的对角元素即为特征值)
\therefore ATA = Xλ\lambdaX-1
λ=(λ1λ2λn) 其中\lambda= \begin{pmatrix} \lambda_1 &amp; \\ &amp; \lambda_2&amp; \\ &amp; &amp; \ddots &amp; \\ &amp; &amp; &amp; \lambda_n \\ \end{pmatrix}
X-1ATAX = λ\lambda
 
用V来替换X, 得到 V-1ATAV = λ\lambda
 
\because矩阵V正交 \thereforeV-1=VT
故 VTATAX = λ\lambda = (Δ2000)\begin{pmatrix} \Delta^2&amp;0 \\0&amp;0\\ \end{pmatrix}
 
将V拆成V1和V2,其中V1 ϵ\epsilon Rn×r^{n\times r},V2 ϵ\epsilon Rn×nr^{n\times n-r}
 
(V1V2)\begin{pmatrix} V_1 \\V_2 \\ \end{pmatrix}(ATA)(V_1,V_2) = (V1TATAV2TATA)\begin{pmatrix} V_1^TA^TA\\V_2^TA^TA \\ \end{pmatrix}(V_1,V_2) = (V1TATAV1V1TATAV2V2TATAV1V2TATAV2)\begin{pmatrix} V_1^TA^TAV_1&amp;V_1^TA^TAV_2\\V_2^TA^TA V_1&amp;V_2^TA^TA V_2\\ \end{pmatrix}= (Δ2000)\begin{pmatrix} \Delta^2&amp;0 \\0&amp;0\\ \end{pmatrix}
 
\therefore V2TATAV1=0V_2^TA^TA V_1=0 \Rightarrow (AV2)TAV2=0 \RightarrowAV2=0
 
Δ2=V1TATAV1=(AV1)TAV1\Delta^2 = V_1^TA^TAV_1 = (AV_1)^TAV_1
 
设U1 ϵ\epsilon Rn×r^{n\times r} , U1 = AV1Δ\Delta-1
 
U1TU1=(Δ1)TV1TATAV1Δ1=Δ1Δ2Δ1=ErU_1 ^TU_1=(\Delta^{-1})^TV_1^TA^T AV_1 \Delta^{-1} = \Delta^{-1}\Delta^2\Delta^{-1} = E^r
这说明U1U_1各列为两两正交的单位向量(自身与自身内积为1)
 
同理,U也可以写成U = (U1,U2)
 
UTAV = (U1TU2T)A(V1,V2)\begin{pmatrix} U_1^T\\U_2^T \\ \end{pmatrix}A(V_1,V_2) = (U1TAV1U1TAV2U2TAV1U2TAV2)\begin{pmatrix} U_1^TAV_1&amp;U_1^TAV_2\\U_2^TAV_1&amp;U_2^TAV_2 \\ \end{pmatrix} = (U1TUΔU1T(AV2)U2TUΔU2T(AV2))\begin{pmatrix} U_1^TU\Delta&amp;U_1^T(AV_2)\\U_2^TU\Delta&amp;U_2^T(AV_2) \\ \end{pmatrix} = (Δ000)\begin{pmatrix} \Delta&amp;0 \\0&amp;0\\ \end{pmatrix}
 
因此,可以得到:
A=UUTAVVT=U(Δ000)VTA = UU^TAVV^T = U\begin{pmatrix} \Delta&amp;0 \\0&amp;0\\ \end{pmatrix}V^T
故SVD得证。
 

参考资料

实对称矩阵的特征值和特征向量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章