說到一個矩陣,怎么才算是真正掌握它?
一個完美分解的方法就是SVD分解。什么是SVD?全稱是 singular Value Decomposition。奇異值分解。
把矩陣Am*n分解為一個三個矩陣相乘的形式,即A=U*∑*V',這三個矩陣是最簡單的矩陣, Um*m是一個單位正交矩陣,Zm*n是一個對角陣,而 Vn*n是另一個正交單位矩陣;并且∑m*n作為對角矩陣,還是元素由大到小排列的。V'即V^T,表示V的轉(zhuǎn)置。
(單位正交矩陣是非常簡單的矩陣,U^T=U^-1,首先它的逆就等于其轉(zhuǎn)置。其次,它的每一個列向量的長度等于1并且每兩個行向量相互正交,每一個行向量的長度等于1并且每兩個行向量相互正交。)
那么有什么簡單的方法可以求出U和V還有∑?證明如下:
因為sigma 是對角陣,設(shè)對角上的元素是K1,K2……Kn,則∑^2矩陣對角元素就是
∑元素的平方。
所以 A*A'=U*∑^2*U',因為∑^2也是對角陣,這個形式就是對A*A'的特征向量分解,U就是A*A'特征向量矩陣,而∑^2就是該矩陣的特征值。
如果向量v與變換B滿足Bv=λv,則稱向量v是變換B的一個特征向量,λ是相應(yīng)的特征值。這一等式被稱作“特征值方程”。描述正方形矩陣的特征值的重要工具是特征多項式,λ是A的特征值等價于線性方程組(B – λI) v = 0 (其中I是單位矩陣)有非零解v (一個特征向量),因此等價于行列式|B – λI|=0
首先,x表示為任意一組正交基的線性組合,v1和v2是正交的,互相垂直。
先乘以V'表示將v1 v2變成標(biāo)準(zhǔn)正交基,再乘以∑表示對兩個基不同程度的拉伸。
再乘以U表示拉伸后的旋轉(zhuǎn)。
在此過程中,一組正交基乘以個正交矩陣的作用,僅僅是旋轉(zhuǎn)了,向量幅度沒變化,而乘以對角矩陣,則相當(dāng)于每一個維度的基單獨被伸長或者縮短了,但是向量的幅角沒變。
這樣可以更形象的理解一個向量,被矩陣A線性變換后的每一步到底做了什么,有什么意義。