最近在做聚類的時候用到了主成分分析PCA技術,里面涉及一些關於矩陣特征值和特征向量的內容,在網上找到一篇對特征向量及其物理意義說明較好的文章,整理下來,分享一下。
一、矩陣基礎[1]:
矩陣是一個表示二維空間的數組,矩陣可以看做是一個變換。在線性代數中,矩陣可以把一個向量變換到另一個位置,或者說從一個坐標系變換到另一個坐標系。矩陣的“基”,實際就是變換時所用的坐標系。而所謂的相似矩陣(),就是同樣的變換,只不過使用了不同的坐標系。線性代數中的相似矩陣實際上就是要使這些相似的矩陣有一個好看的外表,而不改變其變換的功用。
矩陣雖然是二維的,但我們通常把矩陣的大小稱為矩陣的維度。例如一個3乘3的矩陣就可以說是一個三維矩陣。
二、直觀性說明[2]:
我們先來看點直觀性的內容。矩陣的特征方程式是:
矩陣實際可以看作一個變換,方程左邊就是把向量x變到另一個位置而已;右邊是把向量x作了一個拉伸,拉伸量是lambda。那么它的意義就很明顯了,表達了矩陣A的一個特性就是這個矩陣可以把向量x拉長(或縮短)lambda倍,僅此而已。
任意給定一個矩陣A,並不是對所有的向量x它都能拉長(縮短)。凡是能被矩陣A拉長(縮短)的向量就稱為矩陣A的特征向量(Eigenvector);拉長(縮短)的量就是這個特征向量對應的特征值(Eigenvalue)。
值得注意的是,我們說的特征向量是一類向量,因為任意一個特征向量隨便乘以一個標量結果肯定也滿足上述方程,當然這兩個向量都可以看成是同一特征向量,並且它們也對應於同一個特征值。
如果特征值是負數,則說明矩陣不但把特征向量拉長(縮短)了,而且使該向量的方向發生了反轉(指向了相反的方向)。一個矩陣可能可以拉長(縮短)多個向量,因此它就可能有多個特征值。另外,對於實對稱矩陣來說,不同特征值對應的特征向量必定正交。
我們也可以說,一個變換矩陣的所有特征向量組成了這個變換矩陣的一組基。所謂基,可以理解為坐標系的軸。我們平常用到的大多是直角坐標系,在線性代數中可以把這個坐標系扭曲、拉伸、旋轉,稱為基變換。我們可以按需求去設定基,但是基的軸之間必須是線性無關的,也就是保證坐標系的不同軸不要指向同一個方向或可以被別的軸組合而成,否則的話原來的空間就“撐”不起來了。在主成分分析(PCA)中,我們通過在拉伸最大的方向設置基,忽略一些小的量,可以極大的壓縮數據而減小失真。
變換矩陣的所有特征向量作為空間的基之所以重要,是因為在這些方向上變換矩陣可以拉伸向量而不必扭曲和選擇它,使得計算大為簡單。因此特征值固然重要,但我們的終極目標卻是特征向量。
三、幾個重要的抽象概念
1、核
所有經過變換矩陣后變成了零向量的向量組成的集合,通常用Ker(A)來表示。
假設你是一個向量,有一個矩陣要來變換你,如果你不幸落入了這個矩陣的核里面,那么很遺憾轉換后你就變成了虛無的零。特別指出的是,核實“變換”(Transform)中的概念,矩陣變換中有一個相似的概念叫“零空間”。有的材料在談到變換的時候使用T來表示,聯系到矩陣時才用A,本文把矩陣直接看作“變換”。核所在的空間定義為V空間,也就是全部向量原來的空間。
2、值域
某個空間中所有向量經過變換矩陣后形成的向量的集合,通常用R(A)來表示。
假設你是一個向量,有一個矩陣要來變換你,這個矩陣的值域表示了你將來所有可能的位置。值域的維度也叫做秩(Rank)。值域所在的空間定義為W空間。
3、空間
向量與建立在其上的加、乘運算構成了空間。向量可以(也只能在)空間中變換。使用坐標系(基)在空間中描述向量。
不管是核還是值域,它們都是封閉的。意思是說,如果你和你的朋友困在核里面,你們不管是相加還是相乘都還會在核里面,跑不出去,這就構成了一個子空間。值域同理。
數學家證明了,V(核所在的空間定義為V空間)的維度一定等於它的任意一個變換矩陣的核的維度加上值域的維度。
嚴格的證明可以參考相關資料,這里說一個直觀的證明方法:
V的維度也就是V的基的數目。這些基分為兩部分,一部分在核中,一部分是值域中非零象的原象(肯定可以分,因為核和值域都是獨立的子空間)。如果把V中的任意向量用基的形式寫出來,那么這個向量必然也是一部分在核中,另一部分在值域中非零象的原象里。現在對這個向量作變換,核的那部分當然為零了,另一部分的維度剛好等於值域的維度。
四、變換矩陣行空間和零空間的關系
根據矩陣的性質,變換矩陣的行數等於V的維度,變換矩陣的秩等於值域R的維度,所以可以得出:
因為A的秩又是A行空間的維度(注意在非滿矩陣中這個數肯定小於行數),所以上述公式可以變為:
之所以寫成這個形式,是因為我們可以發現A的零空間和A的行空間是正交互補的。正交是因為零空間就是核,按定義乘以A的行向量當然為零。互補是因為它們加起來剛好張成整個V空間。
這個正交互補導致了非常好的性質,因為A的零空間和A的行空間的基組合起來剛好可以湊成V的基。
五、變換矩陣列空間和左零空間的關系
如果把以上方程取轉置,則可以得到:
因為的實際意義是把值域和定義域顛倒過來了,所以
的零空間就是值域以外的區域投向V中零點的所有向量的空間,有人將其稱為“左零空間”(Left Null Space)。這樣就可以得到:
同樣,A的左零空間與A的列空間也正交互補,它們加起來剛好可以張成W空間,它們的基也構成了W的基。
六、變換矩陣行空間和列空間的關系
變換矩陣實際上就是把目標向量從行空間轉換到列空間。
矩陣的行空間、列空間、零空間、左零空間構成了我們在線性代數研究中的所有空間,把它們的關系弄清楚,對於分別的基轉換非常重要。
七、特征方程的秘密
我們試圖構造一個這樣的變換矩陣A:它把向量變換到一個值域空間,這個值域空間的基是正交的;不僅如此,還要求任對於意一個基v都有 的形式,
是原來空間的一個已知基。這樣我們就能把復雜的向量問題轉換到一個異常簡單的空間中去。
如果 的數量不等於v,那么用
取代A,可以變為一個對稱且半正定矩陣,它的特征向量正是要求的基v!
再次說明,矩陣不等於變換,把矩陣看成變換只是提供一個理解變換矩陣的方法。或者,我們可以認為,矩陣只是變換的一種變現形式。
參考文獻:
[1] 矩陣基礎,http://blog.csdn.net/wangxiaojun911/article/details/4582021
[2] 矩陣——特征向量,http://blog.csdn.net/wangxiaojun911/article/details/6737933