我們先來看點(diǎn)直觀性的內(nèi)容。矩陣的特征方程式是: 矩陣實(shí)際可以看作一個(gè)變換,方程左邊就是把向量x變到另一個(gè)位置而已;右邊是把向量x作了一個(gè)拉伸,拉伸量是lambda。那么它的意義就很明顯了,表達(dá)了矩陣A的一個(gè)特性就是這個(gè)矩陣可以把向量x拉長(zhǎng)(或縮短)lambda倍,僅此而已。 任意給定一個(gè)矩陣A,并不是對(duì)所有的向量x它都能拉長(zhǎng)(縮短)。凡是能被矩陣A拉長(zhǎng)(縮短)的向量就稱為矩陣A的特征向量(Eigenvector);拉長(zhǎng)(縮短)的量就是這個(gè)特征向量對(duì)應(yīng)的特征值(Eigenvalue)。 值得注意的是,我們說的特征向量是一類向量,因?yàn)槿我庖粋€(gè)特征向量隨便乘以一個(gè)標(biāo)量結(jié)果肯定也滿足上述方程,當(dāng)然這兩個(gè)向量都可以看成是同一特征向量,并且它們也對(duì)應(yīng)于同一個(gè)特征值。 如果特征值是負(fù)數(shù),則說明矩陣不但把特征向量拉長(zhǎng)(縮短)了,而且使該向量的方向發(fā)生了反轉(zhuǎn)(指向了相反的方向)。一個(gè)矩陣可能可以拉長(zhǎng)(縮短)多個(gè)向量,因此它就可能有多個(gè)特征值。另外,對(duì)于實(shí)對(duì)稱矩陣來說,不同特征值對(duì)應(yīng)的特征向量必定正交。 我們也可以說,一個(gè)變換矩陣的所有特征向量組成了這個(gè)變換矩陣的一組基。所謂基,可以理解為坐標(biāo)系的軸。我們平常用到的大多是直角坐標(biāo)系,在線性代數(shù)中可以把這個(gè)坐標(biāo)系扭曲、拉伸、旋轉(zhuǎn),稱為基變換。我們可以按需求去設(shè)定基,但是基的軸之間必須是線性無關(guān)的,也就是保證坐標(biāo)系的不同軸不要指向同一個(gè)方向或可以被別的軸組合而成,否則的話原來的空間就“撐”不起來了。在主成分分析(PCA)中,我們通過在拉伸最大的方向設(shè)置基,忽略一些小的量,可以極大的壓縮數(shù)據(jù)而減小失真。 變換矩陣的所有特征向量作為空間的基之所以重要,是因?yàn)樵谶@些方向上變換矩陣可以拉伸向量而不必扭曲和選擇它,使得計(jì)算大為簡(jiǎn)單。因此特征值固然重要,但我們的終極目標(biāo)卻是特征向量。 1. 特征值的數(shù)學(xué)意義 我們先考察一種線性變化,例如x,y坐標(biāo)系的橢圓方程可以寫為x^2/a^2+y^2/b^2=1,那么坐標(biāo)系關(guān)于原點(diǎn)做旋轉(zhuǎn)以后,橢圓方程就要發(fā)生變換。我們可以把原坐標(biāo)系的(x,y)乘以一個(gè)矩陣,得到一個(gè)新的(x',y')的表示形式,寫為算子的形式就是M*(x,y) =(x',y')。這里的矩陣M代表一種線性變換:拉伸,平移,旋轉(zhuǎn)。那么,有沒有什么樣的線性變換b(b是一個(gè)向量),使得變換后的結(jié)果,看起來和讓M*(x,y)像是一個(gè)數(shù)b乘以了一個(gè)(x,y)? 換句話說,有沒有這樣的矢量b,使得矩陣A*b這樣的線性變換相當(dāng)于A在矢量b上面的投影m*b? 如果有,那么b就是A的一個(gè)特征向量,m就是對(duì)應(yīng)的一個(gè)特征值。 回過頭思考這句話,一個(gè)矩陣可以是一個(gè)變換,也可以是一個(gè)坐標(biāo)系,如果這個(gè)坐標(biāo)系或基正交,當(dāng)我用這個(gè)矩陣乘以一個(gè)向量時(shí),如果這個(gè)向量也恰好在坐標(biāo)系也就是基的一個(gè)向量所指的方向,那么這個(gè)矩陣乘以這個(gè)向量不就是把這個(gè)向量在那個(gè)基上伸縮了λ倍嗎?λ就是這個(gè)矩陣的特征值。 可是,我們數(shù)一數(shù)上面有多少個(gè)如果——這個(gè)工作意義就是告訴大家,我們的想法是不是太理想——那我們放到更一般的情況,討論某一個(gè)非奇異陣。討論的時(shí)候我們換一個(gè)思路,上面的思考可能敘述太繁雜了,具體的說,求特征向量的關(guān)系,就是把矩陣A所代表的空間,進(jìn)行正交分解,使得A的向量集合可以表示為每個(gè)向量a在各個(gè)特征向量上面的投影長(zhǎng)度。 例如A是m*n的矩陣,n>m,那么特征向量就是m個(gè)(因?yàn)橹茸畲笫莔),n個(gè)行向量在每個(gè)特征向量E上面有投影,其特征值v就是權(quán)重。那么每個(gè)行向量現(xiàn)在就可以寫為Vn=(E1*v1n,E2*v2n...Em*vmn),矩陣變成了方陣。如果矩陣的秩更小,矩陣的存儲(chǔ)還可以壓縮。再: 由于這些投影的大小代表了A在特征空間各個(gè)分量的投影,那么我們可以使用最小2乘法,求出投影能量最大的那些分量,而把剩下的分量去掉,這樣最大限度地保存了矩陣代表的信息,同時(shí)可以大大降低矩陣需要存儲(chǔ)的維度,這叫主成分分析,或者主元分析,簡(jiǎn)稱PCA方法,是一種重要的數(shù)學(xué)模型。 舉個(gè)例子,對(duì)于x,y平面上的一個(gè)點(diǎn)(x,y),我對(duì)它作線性變換, [1 0 ] [x] [0 -1 ] [y] 那么得到的結(jié)果就是(x,-y),這個(gè)線性變換相當(dāng)于關(guān)于橫軸x做鏡像。我們可以求出矩陣[1,0;0,-1]的特征向量有兩個(gè),[1,0]和[0,1],也就是x軸和y軸。什么意思呢? 在x軸上的投影,經(jīng)過這個(gè)線性變換,沒有改變。在y軸上的投影,乘以了幅度系數(shù)-1,并沒有發(fā)生旋轉(zhuǎn)。兩個(gè)特征向量說明了這個(gè)線性變換矩陣對(duì)于x軸和y軸這兩個(gè)正交基是線性不變的。對(duì)于其他的線性變換矩陣,我們也可以找到類似的,N個(gè)對(duì)稱軸,變換后的結(jié)果,關(guān)于這N個(gè)對(duì)稱軸線性不變。這N個(gè)對(duì)稱軸就是線性變換A的N個(gè)特征向量。這就是特征向量的物理含義所在。所以,矩陣A等價(jià)于線性變換A。 再舉一個(gè)例子: [0 -1] [1 0] 大家應(yīng)該都能看出來,這是一個(gè)旋轉(zhuǎn)矩陣,表示向量(x,y)繞原點(diǎn)逆時(shí)針旋轉(zhuǎn)了pi/2。它的特征值是多少呢?λ=±i。而特征向量是這竟然是一個(gè)虛數(shù)。我們直觀的思考一下,哪一個(gè)軸對(duì)于這個(gè)旋轉(zhuǎn)變換來說是線性不變的?很明顯是z軸??蛇@是一個(gè)二維空間。那么就把這個(gè)z軸叫做虛軸吧。但是如果我們把矩陣擴(kuò)展一維,變成 [0 -1 0] [1 0 0] [0 0 1] 這時(shí)候再求特征值和特征向量,就會(huì)發(fā)現(xiàn)特征向量就是(0,0,1)也就是z軸。你看,添加了一維,它就不“虛”了。 (虛特征值不是這篇文章的重點(diǎn),只是寫的時(shí)候突然想到了這里。說到這里要提到之前寫的“理解復(fù)變函數(shù)”,發(fā)現(xiàn)復(fù)變是個(gè)深坑,跳進(jìn)去就找不到路了,概念過于繁雜,只能半年之后才有時(shí)間繼續(xù)。) 虛軸的量有時(shí)候可以幫我們把一個(gè)沒有實(shí)際物理形象的量添加到現(xiàn)實(shí)空間中。對(duì)于電氣的學(xué)生,應(yīng)該是要學(xué)交流傳動(dòng)的。里面有一個(gè)SVPWM電壓空間矢量控制,對(duì)于電壓空間矢量為什么會(huì)形成一個(gè)軌跡為圓形的磁鏈。我就是用二維的平面(順著繞組方向)加了一個(gè)虛軸來證明的。這個(gè)可以另外討論。 現(xiàn)在我們繼續(xù)把討論范圍擴(kuò)大。我們又特征多項(xiàng)式|λE-A|=0求到的特征值會(huì)有重根,這時(shí)候求到的這個(gè)重根的特征向量就不正交,甚至?xí)€性相關(guān)。如果線性無關(guān)的話,那就直接把它正交化,問題就很輕松的解決了。即便正交后的結(jié)果不一樣也沒有關(guān)系,特征向量本身不是定死的,這就好比坐標(biāo)系可以旋轉(zhuǎn)一樣。一旦特征向量的各個(gè)方向確定了,那么特征值向量也就確定了。至于為什么會(huì)有些矩陣的特征值會(huì)是重根,而且特征向量不正交,這個(gè)就要談到線性方程組的解空間的問題了,足夠再寫一篇文章,因此不再贅述。 上面說到特征向量不正交的情況,再把討論范圍擴(kuò)大,特征向量線性相關(guān)又怎么辦。一句話就可以解釋,描述這個(gè)變換的矩陣有一維或多維是冗余的,它的剩下的那些變換就足以描述你這個(gè)冗余的變換。這類似于向量組的線性無關(guān)性??梢韵氲剑娈愱囀遣荒芟嗨朴趯?duì)角陣的。 既然這個(gè)變換的矩陣有一維或者多維是冗余的,那么他就不能相似于一個(gè)對(duì)角陣。畢竟對(duì)n階對(duì)角矩陣來說,它的秩是n,也就是說對(duì)角陣的變換無冗余,那你這個(gè)有冗余的矩陣也就不能描述這個(gè)對(duì)角陣。 2、線性代數(shù)的本質(zhì) 線性代數(shù)(Linear Algebra),能否用一句話概括那些'線性方程組','線性相關(guān)','特征值和特征向量','對(duì)角化和相似','二次型和正交化',都是干了什么樣的一件事情? 看下面幾個(gè)矩陣: [1,0] [2,0] [0,2] [1,-1] [1, 0] [0,1] , [0,3] , [3,0] , [1, 1] , [1,-1] 我們可以通過計(jì)算來看出,上面5個(gè)矩陣:第一個(gè)矩陣是單位矩陣E,也就是把(x,y)映射到(x',y')保持不變;第二個(gè)矩陣映射以后變量的長(zhǎng)度(或者叫模,1范數(shù))有變換,向量的角度不變;第3個(gè)矩陣對(duì)調(diào)x/y軸,并且有伸縮;第4個(gè)矩陣把x/y逆時(shí)針旋轉(zhuǎn)45度,模變成原來的根號(hào)2倍;第5個(gè)矩陣是對(duì)x軸做對(duì)稱,把y變成-y。2維空間上的線性變換可以用復(fù)數(shù)乘法來替代,但是更高維的變換就只能借助于矩陣乘法。 矩陣的變換,換一個(gè)叫法就是映射。通過三個(gè)例子理解線性變換的映射。 (1) 線性方程組AX=B,也就是說,B是x'/y'坐標(biāo)系一個(gè)向量(b1,b2,b3...bn),矩陣A是(x/y)到(x'/y')的映射,能否找到X=(x1,...xn)使得X被映射到B。如果找到了一個(gè),那么這個(gè)映射就是唯一的,當(dāng)然映射也可能沒有,也可能有無數(shù)種可能的情況。 (2) 那么,什么情況AX=B的解是唯一的呢? 滿足行列式|A|!=0。為了滿足|A|!=0,必須有a的行向量線性無關(guān),也就是a的每一行都是一個(gè)獨(dú)立的坐標(biāo)軸,沒有冗余的坐標(biāo)軸。所以坐標(biāo)系映射的自變量和因變量也就因此一一對(duì)應(yīng),所以總是有且只有一個(gè)解。 (3) 什么情況下無解呢? A的行向量有冗余,最大線性無關(guān)(無冗余的坐標(biāo)系個(gè)數(shù)),或者秩R(A)=r,但是發(fā)現(xiàn)需要通過r個(gè)坐標(biāo)軸的映射,得到s維的映射結(jié)果(s>r)。顯然無解(找不到低維到高維的一一映射)。同理,如果s<r,那么有無數(shù)個(gè)解(通解,一對(duì)多的映射),s=r正好也是一個(gè)解。 矩陣的對(duì)角化,揭示了矩陣作為一種線性變換的手段的本質(zhì)。那么特征值和特征向量的意義,也就很明顯了。假設(shè)N維坐標(biāo)系(i1,i2...in)映射到新的坐標(biāo)系(j1,j2,j3...jn),既然矩陣A代表一種映射關(guān)系(變換),那么這種映射關(guān)系可以分解為模的伸縮和角度旋轉(zhuǎn)。A=P^(-1)*B*P,B是特征值構(gòu)成的矩陣,那么每一個(gè)特征值,相當(dāng)于坐標(biāo)ix映射到j(luò)x的那一維的坐標(biāo),其模的伸縮比例是多少。可逆矩陣P的每一個(gè)列向量代表的就是新的坐標(biāo)系相當(dāng)于原有的坐標(biāo)系如何投影過來----Pi的每一個(gè)分量就是(i1...in)在ji上面投影的大小。矩陣對(duì)角陣的分解式A=P^(-1)*B*P代表了這樣一種信息: 把原坐標(biāo)系(i1,i2...in)進(jìn)行旋轉(zhuǎn)(P矩陣),并且幅度進(jìn)行伸縮(B矩陣),再做一次鏡像的旋轉(zhuǎn)P^(-1),因?yàn)樾D(zhuǎn)本身不具有翻轉(zhuǎn)的功能,那么就是原矩陣A的線性變換功能的全部了。 矩陣,就是旋轉(zhuǎn)+鏡像翻轉(zhuǎn)+尺度伸縮。這就是一切線性代數(shù)和矩陣?yán)碚撘芯康膯栴},無出其外。 一個(gè)應(yīng)用的例子就是控制論,系統(tǒng)從狀態(tài)A變換到狀態(tài)B(A和B都是矢量)其實(shí)就是看是否存在轉(zhuǎn)移矩陣X使得XA=B,或者一些列轉(zhuǎn)移矩陣{X}已知,看看是否存在初始A使得系統(tǒng)狀態(tài)能夠變成要求的狀態(tài)B,或者已知A和{X}看是否能經(jīng)過一系列變換得到B。下面幾幅圖來自<<Visual Complex Analysis>>,畫的是復(fù)數(shù)域(2x2線性變換空間的)的尺度拉伸,平移,旋轉(zhuǎn),直角平面和極坐標(biāo)圓平面之間的線性變換。 矩陣對(duì)角化其實(shí)也是初等變換,但是是把矩陣再變回對(duì)角陣。這個(gè)對(duì)角陣也就是單位陣的不同的方向上進(jìn)行了伸縮得到的。 所謂的特征矩陣,就是原矩陣如何與一個(gè)x維的數(shù)量矩陣相似。λ(i)說明了相似投影與一個(gè)x維線性空間的第i維坐標(biāo)軸,λ(i)是放縮比例。λ(i)之間的順序是不重要的,因?yàn)樽鴺?biāo)軸之間的交換是初等線性變換,不影響代數(shù)拓?fù)涞男再|(zhì)。特征向量xi表明A如何把線性組合投影到一個(gè)坐標(biāo)軸上。所謂的特征向量,就是一組正交基集合。 3、關(guān)于正交 正交可以理解為向量的內(nèi)積為0,也可以理解為向量夾角90度。但是放到線性代數(shù)這個(gè)大概念,怎么把正交的定義和線性代數(shù)的各種概念形成自洽。那就是在某個(gè)線性空間中,基為a1,a2,a3……an,某個(gè)向量v在各個(gè)ax(1≤x≤n)上面的投影分解,表達(dá)式唯一或者表述為,a1-an當(dāng)中的任意向量,在其他向量上面的投影都是0。 其實(shí)正交的概念放到不同的地方內(nèi)涵完全可以不一樣。例如在傅立葉級(jí)數(shù)中,為什么選用cos和sin作為分解的基,正是因?yàn)檎嘞液瘮?shù)的正交性。 考慮y=f(x)(周期為T)的傅立葉級(jí)數(shù)展開形式----它相當(dāng)于,在一個(gè)T內(nèi)f(x)是無窮維向量 (y1,y2,y3,...,yn...),f(x)的傅立葉級(jí)數(shù)展開式就是f(x)在無窮維正交基(e^jnw)上面有投影,這個(gè)正交基是從低頻到高頻的一些列三角函數(shù)組合。每一個(gè)投影的系數(shù)是一個(gè)長(zhǎng)度。那么e^jnw組成的正交基就是的任何f(x)的特征向量,不同的是,不同f(x)對(duì)應(yīng)不同的特征值向量。一個(gè)N維的向量空間,N個(gè)正交矢量不是定死的,而可以是任意的向量值組合,只要保持互相兩兩正交就可以了。例如我想構(gòu)造3維的正交基,我隨手寫下 (1,0,1),那么(0,1,2),(0,0,1)就可以是剩下的兩個(gè)向量。為什么?一般的說,向量e1,e2,e3是正交基,那么 e1+e2,e2+e3,e1+e3這三個(gè)向量也可以構(gòu)成正交基。 也就是因?yàn)槿羌?jí)數(shù)本身可以作為投影的基準(zhǔn),可以分解任何函數(shù)。所以三角函數(shù)就是特征向量函數(shù),頻率分析的值就是特征值。說得遠(yuǎn)一點(diǎn),任何數(shù)學(xué)分析最后都可以用頻譜分析來代替。這也就是'信號(hào)與系統(tǒng)','數(shù)字信號(hào)處理','通信原理','概率和隨機(jī)過程'這些課程,怎么看起來都是在玩頻率游戲和功率譜游戲的原因----學(xué)完以后經(jīng)常會(huì)感覺自己什么都沒有學(xué)會(huì)。因?yàn)樵谖锢韺樱畔⒌?意義'并不存在,只有傳輸和設(shè)計(jì)的電子/數(shù)學(xué)特性有意義。通信協(xié)議都是高層次的東西,和'通信原理'無關(guān)。在底層只有物理意義,沒有邏輯意義。 綜上,特征值只不過反映了特征向量在變換時(shí)的伸縮倍數(shù)而已,對(duì)一個(gè)變換而言,特征向量指明的方向才是很重要的,特征值似乎不是那么重要;但是,當(dāng)我們引用了Spectral theorem(譜定律)的時(shí)候,情況就不一樣了。 我們知道,一個(gè)變換可由一個(gè)矩陣乘法表示,那么一個(gè)空間坐標(biāo)系也可視作一個(gè)矩陣,而這個(gè)坐標(biāo)系就可由這個(gè)矩陣的所有特征向量表示,用圖來表示的話,可以想象就是一個(gè)空間張開的各個(gè)坐標(biāo)角度,這一組向量可以完全表示一個(gè)矩陣表示的空間的“特征”,而他們的特征值就表示了各個(gè)角度上的能量(可以想象成從各個(gè)角度上伸出的長(zhǎng)短,越長(zhǎng)的軸就越可以代表這個(gè)空間,它的“特征”就越強(qiáng),或者說顯性,而短軸自然就成了隱性特征),因此,通過特征向量/值可以完全描述某一幾何空間這一特點(diǎn),使得特征向量與特征值在幾何(特別是空間幾何)及其應(yīng)用中得以發(fā)揮。 關(guān)于特征向量(特別是特征值)的應(yīng)用實(shí)在是太多太多,近的比如俺曾經(jīng)提到過的PCA方法,選取特征值最高的k個(gè)特征向量來表示一個(gè)矩陣,從而達(dá)到降維分析+特征顯示的方法;近的比如Google公司的成名作PageRank,也是通過計(jì)算一個(gè)用矩陣表示的圖(這個(gè)圖代表了整個(gè)Web各個(gè)網(wǎng)頁(yè)“節(jié)點(diǎn)”之間的關(guān)聯(lián))的特征向量來對(duì)每一個(gè)節(jié)點(diǎn)打“特征值”分;再比如很多人臉識(shí)別,數(shù)據(jù)流模式挖掘分析等方面,都有應(yīng)用,有興趣的兄弟可以參考IBM的Spiros在VLDB‘ 05,SIGMOD ’06上的幾篇文章。 ———— 編輯 ∑Pluto 來源:CSDN |
|