如何理解矩阵特征值
(下面的回答只涉及實數范圍)。
關于特征值、特征向量可以講的確實很多,我這里希望可以給大家建立一個直觀的印象。
先給一個簡短的回答,如果把矩陣看作是運動,對于運動而言,最重要的當然就是運動的速度和方向,那么(我后面會說明一下限制條件):
- 特征值就是運動的速度
- 特征向量就是運動的方向
既然運動最重要的兩方面都被描述了,特征值、特征向量自然可以稱為運動(即矩陣)的特征。
注意,由于矩陣是數學概念,非常抽象,所以上面所謂的運動、運動的速度、運動的方向都是廣義的,在現實不同的應用中有不同的指代。
下面是詳細的回答,我會先從幾何上簡單講解下特征值、特征向量的定義指的是什么,然后再來解釋為什么特征值、特征向量會是運動的速度和方向。
1 幾何意義
說明下,因為線性變換總是在各種基之間變來變去,所以我下面畫圖都會把作圖所用的基和原點給畫出來。
在 下面有個 :
隨便左乘一個矩陣,圖像看上去沒有什么特殊的:
我調整下 的方向,圖像看上去有點特殊了:
可以觀察到,調整后的 和 在同一根直線上,只是 的長度相對的長度變長了。
此時,我們就稱 是 的特征向量,而 的長度是 的長度的 倍, 就是特征值。
從而,特征值與特征向量的定義式就是這樣的:
其實之前的 不止一個特征向量,還有一個特征向量:
容易從 相對于 是變長了還是縮短看出,這兩個特征向量對應的特征值,一個大于1,一個小于1。
從特征向量和特征值的定義式還可以看出,特征向量所在直線上的向量都是特征向量:
你可以自己動手試試,可以改變 的位置,以及矩陣 的值(特征空間會隨著矩陣改變而改變):
此處有互動內容,點擊此處前往操作。其中有些值構成的矩陣沒有畫出特征空間,可能是因為它的特征值、特征向量是復數,也可能是不存在。
下面就要說下,特征值、特征向量與運動的關系
2 運動的速度與方向
2.1 從調色談起
我有一管不知道顏色的顏料,而且這管顏料有點特殊,我不能直接擠出來看顏色,只能通過調色來觀察:
為了分辨出它是什么顏色(記得它只能通過調色來辨別):
因為反復混合之后,這管顏料的特征就凸顯了出來,所以我們判斷,這管顏料應該是藍色。
說這個干什么?矩陣也有類似的情況。
2.2 矩陣的混合
一般來說,矩陣我們可以看作某種運動,而二維向量可以看作平面上的一個點(或者說一個箭頭)。對于點我們是可以觀察的,但是運動我們是不能直接觀察的。
就好像,跑步這個動作,我們不附加到具體的某個事物上是觀察不到的,我們只能觀察到:人跑步、豬跑步、老虎跑步、......,然后從中總結出跑步的特點。
就好像之前舉的不能直接觀察的顏料一樣,要觀察矩陣所代表的運動,需要把它附加到向量上才觀察的出來:
似乎還看不出什么。但是如果我反復運用矩陣乘法的話:
就像之前顏料混合一樣,反復運用矩陣乘法,矩陣所代表的運動的最明顯的特征,即速度最大的方向,就由最大特征值對應的特征向量展現了出來。
至于別的特征值對應的是什么速度,我后面會解釋,這里先跳過。
可以自己動手試試,我把 值也標注出來了,可以關注下最大 值對于運動的影響:
此處有互動內容,點擊此處前往操作。順便說下,對于復數的特征值、特征向量,在上面就沒有畫出特征空間,但可以觀察到反復運用矩陣乘法的結果是圍繞著原點在旋轉。關于復數特征值和特征向量這里就不展開來說了。
2.3 燒一壺斐波那契的水
上面說的運動太抽象了,我來舉一個具體點的例子:燒水。
比如說我想燒一壺水,水的溫度按照斐波那契數列升高,即下一秒的溫度 與當前溫度 以及上一秒的溫度的關系為:
要繼續計算下去,我只需要 以及 就可以繼續算下去。因此我可以寫成下面的式子:
因此燒水這個運動我們可以抽象為矩陣 ,反復進行這個運動就可以燒開這壺水,根據斐波那契數列,讓我們從 點開始(感興趣的話,可以通過之前的互動調整下參數,可以得到下面的結果):
就可以看出,這壺水的溫度會沿著的特征值最大的特征向量方向飛快增長,我估計要不了多久,在理想的情況下,溫度就會突破百萬度、千萬度、億萬度,然后地球說不定就爆炸了。我們就說這個矩陣不穩定。
所以說,不要燒斐波那契的水。
實際上歷史也是這樣,歐拉在研究剛體的運動時發現,有一個方向最為重要,后來拉格朗日發現,哦,原來就是特征向量的方向。
我們知道特征值、特征向量有什么特點之后,下一步就想知道,為什么會這樣?
3 特征值分解
下面講解要用到矩陣乘法和相似矩陣的知識,我就不啰嗦了,可以參看我的回答: 行列式的本質是什么? 以及 相似矩陣是什么?
我們知道,對于矩陣可以對角化的話,可以通過相似矩陣進行下面這樣的特征值分解:
其中為對角陣,的列向量是單位化的特征向量。
說的有點抽象,我們拿個具體的例子來講:
對于方陣而言,矩陣不會進行維度的升降,所以矩陣代表的運動實際上只有兩種:
- 旋轉
- 拉伸
最后的運動結果就是這兩種的合成。
我們再回頭看下剛才的特征值分解,實際上把運動給分解開了:
我們來看看在幾何上的表現是什么,因此相似矩陣的講解涉及到基的變換,所以大家注意觀察基:
左乘 :
如果旋轉前的基不正交,旋轉之后變為了標準基,那么實際會產生伸縮,所以之前說的正交很重要。
繼續左乘對角矩陣 :
相當于,之前的旋轉是指明了拉伸的方向,所以我們理解了:
- 特征值就是拉伸的大小
- 特征向量指明了拉伸的方向
回到我們之前說的運動上去,特征值就是運動的速度,特征向量就是運動的方向,而其余方向的運動就由特征向量方向的運動合成。所以最大的特征值對應的特征向量指明了運動速度的最大方向。
但是,重申一下,上面的推論有一個重要的條件,特征向量正交,這樣變換后才能保證變換最大的方向在基方向。如果特征向量不正交就有可能不是變化最大的方向,比如:
所以我們在實際應用中,都要去找正交基。但是特征向量很可能不是正交的,那么我們就需要奇異值分解了,這里就不展開了。
大家可以再回頭去操作一下之前的動圖,看看不正交的情況下有什么不一樣。
左乘 :
說明下,如果大家把這個文章和之前提到的我寫的“相似矩陣”的文章參照來看的話,“相似矩陣”那篇文章里面我把圖像的坐標系換了,所以看著圖像沒有變換(就好像直角坐標系到極坐標系下,圖像是不會變換的)。而這里我把圖像的坐標系給旋轉、拉伸了,所以看著圖像變換了(就好像換元,會導致圖像變換)。這其實是看待矩陣乘法的兩種視角,是等價的,但是顯示到圖像上就有所不同。
4 特征值、特征向量的應用
4.1 控制系統
之前的燒水系統是不穩定的。
的,系統最終會趨于穩定:
4.2 圖片壓縮
比如說,有下面這么一副的圖片(方陣才有特征值,所以找了張正方形的圖):
這個圖片可以放到一個矩陣里面去,就是把每個像素的顏色值填入到一個的 矩陣中。
根據之前描述的有:
其中, 是對角陣,對角線上是從大到小排列的特征值。
我們在中只保留前面50個的特征值(也就是最大的50個,其實也只占了所有特征值的百分之十),其它的都填0,重新計算矩陣后,恢復為下面這樣的圖像:
效果還可以,其實一兩百個特征值之和可能就占了所有特征值和的百分之九十了,其他的特征值都可以丟棄了。
總結
- 上一篇: java 中sub,Fn :: Sub中
- 下一篇: 好玩gan_效果超赞服务器挤爆!用GAN