什麼是特徵向量,特徵值,矩陣分解---物理意義

很不錯的文章,下面的數學知識幹嘛用看看就知道了。

什麼是特徵向量,特徵值,矩陣分解


[1. 特徵的數學意義]
        我們先考察一種線性變化,例如x,y座標系的橢圓方程可以寫爲x^2/a^2+y^2/b^2=1,那麼座標系關於原點做旋轉以後,橢圓方程就要發生變換。我們可以把原座標系的(x,y)乘以一個矩陣,得到一個新的(x',y')的表示形式,寫爲算子的形式就是(x,y)*M=(x',y')。這裏的矩陣M代表一種線性變換:拉伸,平移,旋轉。那麼,有沒有什麼樣的線性變換b(b是一個向量),使得變換後的結果,看起來和讓(x,y)*b像是一個數b乘以了一個數字m*b? 換句話說,有沒有這樣的矢量b,使得矩陣A*b這樣的線性變換相當於A在矢量b上面的投影m*b? 如果有,那麼b就是A的一個特徵向量,m就是對應的一個特徵值。一個矩陣的特徵向量可以有很多個。特徵值可以用特徵方程求出,特徵向量可以有特徵值對應的方程組通解求出,反過來也一樣。例如,設A爲3階實對稱矩陣,a1=(a,-a,1)T是Ax=0的解,a2=(a,1,-a)T是(A+E)x=0的解,a≠2,則常數a=? 因爲a1=(a,-a,1)T是Ax=0的解,說明a1=(a,-a,1)T是A的屬於0的特徵向量,a2=(a,1,-a)T是(A+E)x=0的解,說明a2=(a,1,-a)T是A的屬於-1的特徵向量。實對稱矩陣屬於不同特徵值的特徵向量式正交的,所以a^2-a-a=0,a≠2,所以a=0。

       

         還是太抽象了,具體的說,求特徵向量的關係,就是把矩陣A所代表的空間,進行正交分解,使得A的向量集合可以表示爲每個向量a在各個特徵向量上面的投影長度。例如A是m*n的矩陣,n>m,那麼特徵向量就是m個(因爲秩最大是m),n個行向量在每個特徵向量E上面有投影,其特徵值v就是權重。那麼每個行向量現在就可以寫爲Vn=(E1*v1n,E2*v2n...Em*vmn),矩陣變成了方陣。如果矩陣的秩更小,矩陣的存儲還可以壓縮。再: 由於這些投影的大小代表了A在特徵空間各個分量的投影,那麼我們可以使用最小2乘法,求出投影能量最大的那些分量,而把剩下的分量去掉,這樣最大限度地保存了矩陣代表的信息,同時可以大大降低矩陣需要存儲的維度,簡稱PCA方法。

        

         舉個例子,對於x,y平面上的一個點(x,y),我對它作線性變換,(x,y)*[1,0;0,-1],分號代表矩陣的換行,那麼得到的結果就是(x,-y),這個線性變換相當於關於橫軸x做鏡像。我們可以求出矩陣[1,0;0,-1]的特徵向量有兩個,[1,0]和[0,1],也就是x軸和y軸。什麼意思呢? 在x軸上的投影,經過這個線性變換,沒有改變。在y軸上的投影,乘以了幅度係數-1,並沒有發生旋轉。兩個特徵向量說明了這個線性變換矩陣對於x軸和y軸這兩個正交基是線性不變的。對於其他的線性變換矩陣,我們也可以找到類似的,N個對稱軸,變換後的結果,關於這N個對稱軸線性不變。這N個對稱軸就是線性變換A的N個特徵向量。這就是特徵向量的物理含義所在。所以,矩陣A等價於線性變換A。

        對於實際應用的矩陣算法中,經常需要求矩陣的逆:當矩陣不是方陣的時候,無解,這是需要用到奇異值分解的辦法,也就是A=PSQ,P和Q是互逆的矩陣,而S是一個方陣,然後就可以求出僞逆的值。同時,A=PSQ可以用來降低A的存儲維度,只要P是一個是瘦長形矩陣,Q是寬扁型矩陣。對於A非常大的情況可以降低存儲量好幾個數量級。

[2. 物理意義]

        特徵向量有什麼具體的物理意義? 例如一個駐波通過一條繩子,繩子上面的每個點組成一個無窮維的向量,這個向量的特徵向量就是特徵函數sin(t),因爲是時變的,就成了特徵函數。每個點特徵值就是每個點在特定時刻的sin(x+t)取值。再如,從太空中某個角度看地球自轉,雖然每個景物的座標在不斷的變換,但是這種變換關於地球的自傳軸有對稱性,也就是關於此軸的平移和拉伸的座標變換不敏感。所以地球自轉軸,是地球自轉這種空間變換的一個特徵向量。Google的PageRank,就是對www鏈接關係的修正鄰接矩陣的,主要特徵向量的投影分量,給出了頁面平分。有什麼特性呢? AB和BA有相同的特徵向量----設AB的特徵向量爲x,對應的特徵值爲b,則有(AB)x = bx,將上式兩邊左乘矩陣B,得B(AB)x = (BA)(Bx) = b(Bx),故b爲BA的特徵值,對應的特徵向量爲Bx。反之亦然。
        什麼是特徵矩陣和特徵值?我們用整體論來考慮,假設P(A)=(1,2,3)是A的3個特徵向量。那麼P(A^2)就是(1^2,2^2,3^2),P可以看作是一種算子。當然,算子的特性是需要用部分/細節詳細證明的。一旦證明,就可以作爲整體的特徵。特徵值有什麼特性?說明矩陣可以分解成N維特徵向量的投影上面,這N個特徵值就是各個投影方向上的長度。由於n*n矩陣A可以投影在一個正交向量空間裏面,那麼任何N維特徵向量組成的矩陣都可以是線性投影變換矩陣,那麼I就是一個同用的線性變換投影矩陣。所以對於特徵值m,一定有是夠成了一個沒有線性無關向量的矩陣Aa=ma兩邊同乘以I得到 Aa=maI,所以(A-mI)a=0有非0解,那麼|A-mI|=0(可以用反正法,如果這個行列式不是0,那麼N個向量線性無關,在N維空間中只能相交於原點,不可能有非0解)。所以可以推出一些很有用的性質,例如A=[1/2,1,1;0,1/3,1;0,0,1/5],那麼只要滿足|A- mI|=0的值就是特徵值,顯然特徵值數組立即可以得到(1/2,1/3,1/5)。一個n*n的矩陣A,秩=1,那麼最大線性無關組=1組,特徵向量=1個,任意n維非零向量都是A的特徵向量。特徵向量本身不是定死的,這就好比座標系可以旋轉一樣。一旦特徵向量的各個方向確定了,那麼特徵值向量也就確定了。求特徵值的過程就是用特徵方程:|A-mE|=0,P(1/A)=1/P(A),可以證明。有什麼物理含義呢?一個N維線性無關的向量,去掉其中的一維,那麼就有至少兩個向量是線性相關的了,所以行列式=0。特徵矩陣有什麼作用?把矩陣變化爲正定矩陣,也就是A=P^-1BP,這樣的變換,A是對角陣。
        線性代數的研究,是把向量和矩陣作爲一個整體,從部分的性質出發,推到出整體的性質,再由整體的性質得到各種應用和物理上的概念。當矩陣A是一個符號的時候,它的性質會和實數a有很多相似的地方。科學的定理看起來總是遞歸着的。再舉一個例子,高數的基本概念有微分,積分,倒數,那麼我立刻可以想到中值定理就應該有3個,形式上分別是微分,積分和倒數。
    
[3. 應用的場景]
        線性變換的缺點:線性變換PCA可以用來處理圖像。如2維的人像識別:
1. 我們把圖像A看成矩陣,進一步看成線性變換矩陣,把這個訓練圖像的特徵矩陣求出來(假設取了n個能量最大的特徵向量)。用A乘以這個n個特徵向量,得到一個n維矢量a,也就是A在特徵空間的投影。
2. 今後在識別的時候同一類的圖像(例如,來自同一個人的面部照片),認爲是A的線性相關圖像,它乘以這個特徵向量,得到n個數字組成的一個矢量b,也就是B在特徵空間的投影。那麼a和b之間的距離就是我們判斷B是不是A的準則。
        不過,PCA有天生的缺點,就是線性矢量的相關性考察有"平移無關性"優點的同時,也完全忽略了,2維圖形中,矢量分量之間的順序是有意義的,順序不同可以代表完全不同的信息。還有,就是圖像B必須是A的某種伸縮(由特徵向量空間決定的),才能被很好的投影到A的特徵向量空間裏面,如果B包含了A中的某種旋轉因素,那麼PCA可以徹底失效。所以實際應用中PCA的方法做圖像識別,識別率並不高,它要求圖像有某種嚴格的方向對齊和歸一化。所以PCA一般不用來做直接的特徵提取而是用來做特徵矩陣的降維。當然,降維的結果用於分類並不理想,我們可以進一步做最小二承法拉開類間距離的Fisher變換。但是Fisher變換會引入新的弱點,那就是對於訓練類別的數據變得更敏感了,分類效果上升的代價是通用性下降,當類型數量急劇膨脹的時候,分類效果的函數仍然是直線下降的----但是還是比直接PCA的分類效果好得多。PCA"主觀"的認爲,一個類型的第N+1個矩陣可以由之前已知的[1,N]個矩陣通過拉成向量來線性表出。顯然這只是一個美好的主觀願望,因爲即使新的輸入矩陣是原有矩陣作了一些行列的初等變換如交換等,這種拉直以後的線性表出也可能根本就不存在(2維的PCA同樣無法克服這個客觀不存在的設定),於是,當應用到實際的時候,只能試圖做優化沒,用最小二乘距離來判定,"認爲"那個矩陣就是屬於某個分類。由於PCA訓練的特徵矩陣是一個類別一個矩陣,這些矩陣構成的子空間之間又無法保證正交,於是投影的結果也不具有根本意義上的分類特性。這個算法是個實用的算法,但是理論上根本就是無解。
        K-L變換是PCA的一個應用形式。假設圖像類型C有N個圖像,那麼把每個圖像拉直成一個向量,N個圖像的向量組成一個矩陣,求矩陣的特徵向量(列向量)。那麼用原來的N個圖像乘以這些列向量求出平均值,就是我們的特徵圖像。可以看到特徵圖像和原圖像有相似的地方,但是去掉了和拉伸,平移相關的一些形變信息。在得到了魯棒性的同時,犧牲了很多精確性。所以它比較適合特定範圍圖像的Verification工作,也就是判斷圖像P是不是屬於類型C。對比一下神經網絡:說白了把函數y=f(x)的映射,變成了[y]=[f(x)]的向量映射。輸入輸出的點(entry)是固定的。而真實的神經系統,並沒有明顯的內部處理和外部接口的區分。所以所有的神經網絡理論,名字上是神經網絡,實質上,差得很遠。

[4. 關於譜]
        什麼是"譜"(Spectrum)? 我們知道音樂是一個動態的過程,但是樂譜卻是在紙上的,靜態的存在。對於數學分析工具,研究時變函數的工具,可以研究傅立葉變換對應的頻率譜;對於概率問題,雖然每次投色子的結果不一樣,但是可以求出概率分佈的功率譜密度。數學作爲一種形而上學工具,研究的重點,就是這個變化世界當中那些不變的規律。
 
[5. 能用於分類嗎]
        所謂的特徵矩陣,就是原矩陣如何與一個x維的數量矩陣相似。Lamda(i)說明了相似投影與一個x維線性空間的第i維座標軸,Lamda(i)是放縮比例。Lamda(i)之間的順序是不重要的,因爲座標軸之間的交換是初等線性變換,不影響代數拓撲的性質。特徵向量xi表明A如何把線性組合投影到一個座標軸上。所謂的特徵向量,就是一組正交基集合。
        在圖像處理的問題域中,把圖像看成矩陣本身,那麼圖像的分類問題就是同類矩陣被認爲有相同或者代數近似的"不變量"。顯然,"同類"是一個主觀假設劃定的類,而不是通過計算來"確定"的類。這導致了一個問題,所謂的不同類型,其意義是對於人的主觀理解能力而言,是先驗的,不是通過計算得到的後驗,它本身不代表任何數理邏輯上的可判定信息。如果以矩陣的特徵向量或者特徵值矩陣作爲分類的信息,沒有任何證據能夠避免不同的"類"的矩陣能夠有更加近似的特徵值。所謂的矩陣分解方法,類內最小距離方法(Fisher),都有一個令人不愉快地前提,那就是本身就要保證類內的矩陣,其歐式距離足夠小----這個歐式距離的大小往往又和人的幾何拓撲直觀不符)。由於矩陣本身不具有預定義的拓撲學信息,那麼同類圖像間歐式距離增加的時候,無法做到良好的分類。同時,圖像的類要分的越多,那麼這種子空間之間的交疊現象就越嚴重,及時再去從每個類別的子空間中去尋找線性不變的子空間或者因子,也無法消除這種交疊性----Fisher算法試圖繞過去,但是卻付出了嚴重依賴初始數據的代價和失去通用性的代價。PCA算法試圖在統計的意義上得到最好的分類,但是當類型數目增加的時候,以前的參數就作廢了,根本無法得到有用的計算流程。由於子空間之間的重疊無法解決,於是分類性便持續下降。原因是什麼? 就是因爲分類本身不是根據線性變換本身的代數特性去得到的,而是先驗的非線性"智慧"的人的判斷。於是,由於二元運算爲離散集合作分類,必須在線性空間的正交劃分中進行,導致了邏輯上的不可調和的悖論。非線性的判定是連續的,幾何拓撲的,無窮維德,不可分離變量的,根本就不可建模,於是也就是一個不可判定的問題。
        那麼不用高等代數的思想,實用信號處理的辦法提取局部的特徵做比較可以達到分類麼? 這個仍然沒有回答"先驗"分類的問題,仍然是在一個糟糕的前提下試圖尋找勉強能用的途徑。如何知道一個矩陣的局部其實對應於另一個矩陣上不同位置的局部呢? 這仍然只是一個主觀的,直覺主義的判定! 計算機不過是紙和筆的變形,它不能理解意義---即使1+1=2這樣的運算結果,它本身也不能判定對錯。如果它諮詢別的計算機來判斷對錯呢----別的計算機又如何能自我證明對錯? 根本不能,必須等到一個主體的"人"來觀察這個結果,這個結果纔會變得有意義。於是就像薛定諤的那隻貓一樣,她正懶洋洋的曬着太陽衝我微笑呢。形而上學的理論在精妙,也沒有超出經驗主義的牢籠。
        於是,我便不再需要算法,不再需要哲學。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章