什麼是特徵向量,特徵值,矩陣分解
[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如何把線性組合投影到乙個座標軸上。所謂的特徵向量,就是一組正交基集合。
那麼不用高等代數的思想,實用訊號處理的辦法提取區域性的特徵做比較可以達到分類麼? 這個仍然沒有回答"先驗"分類的問題,仍然是在乙個糟糕的前提下試圖尋找勉強能用的途徑。如何知道乙個矩陣的區域性其實對應於另乙個矩陣上不同位置的區域性呢? 這仍然只是乙個主觀的,直覺主義的判定! 計算機不過是紙和筆的變形,它不能理解意義---即使1+1=2這樣的運算結果,它本身也不能判定對錯。如果它諮詢別的計算機來判斷對錯呢----別的計算機又如何能自我證明對錯? 根本不能,必須等到乙個主體的"人"來觀察這個結果,這個結果才會變得有意義。於是就像薛丁格的那只貓一樣,她正懶洋洋的曬著太陽衝我微笑呢。形上學的理論在精妙,也沒有超出經驗主義的牢籠。
於是,我便不再需要演算法,不再需要哲學。
漫談高數 特徵向量物理意義
什麼是特徵向量,特徵值,矩陣分解 1.特徵的數學意義 我們先考察一種線性變化,例如x,y座標系的橢圓方程可以寫為x 2 a 2 y 2 b 2 1,那麼座標系關於原點做旋轉以後,橢圓方程就要發生變換。我們可以把原座標系的 x,y 乘以乙個矩陣,得到乙個新的 x y 的表示形式,寫為運算元的形式就是 ...
特徵向量的物理意義
特徵向量的物理意義 長時間以來一直不了解矩陣的特徵值和特徵向量到底有何意義 估計很多兄弟有同樣感受 知道它的數學公式,但卻找不出它的幾何含義,教科書裡沒有真正地把這一概念從各種角度例項化地進行講解,只是一天到晚地列公式玩理論 有個屁用啊。根據特徵向量數學公式定義,矩陣乘以乙個向量的結果仍是同維數的乙...
特徵向量和特徵值的物理意義
本文 知乎大牛。從定義出發,ax cx a為矩陣,c為特徵值,x為特徵向量。矩陣a乘以x表示,對向量x進行一次轉換 旋轉或拉伸 是一種線性轉換 而該轉換的效果為常數c乘以向量x 即只進行拉伸 我們通常求特徵值和特徵向量即為求出該矩陣能使哪些向量 當然是特徵向量 只發生拉伸,使其發生拉伸的程度如何 特...