1. 程式人生 > >深度學習中的數學與技巧(7):特徵值和特徵向量的幾何意義、計算及其性質

深度學習中的數學與技巧(7):特徵值和特徵向量的幾何意義、計算及其性質

一、特徵值和特徵向量的幾何意義

特徵值和特徵向量確實有很明確的幾何意義,矩陣(既然討論特徵向量的問題,當然是方陣,這裡不討論廣義特徵向量的概念,就是一般的特徵向量)乘以一個向量的結果仍是同維數的一個向量。因此,矩陣乘法對應了一個變換,把一個向量變成同維數的另一個向量。

那麼變換的效果是什麼呢?這當然與方陣的構造有密切的關係,比如可以取適當的二維方陣,使得這個變換的效果就是將平面上的二維變數逆時針旋轉30度。這時,我們可以思考一個問題,有沒有向量在這個變換下不改變方向呢?可以想一下,除了零向量,沒有其他向量可以在平面上旋轉30度而不改變方向的,所以這個變換對應的矩陣(或者說這個變換自身)沒有特徵向量(注意:特徵向量不能是零向量)。

綜上所述,一個變換(或者說矩陣)的特徵向量就是這樣一種向量,它經過這種特定的變換後保持方向不變,只是進行長度上的伸縮而已。再想想特徵向量的原始定義:

clip_image002

可以很容易看出,cx是方陣A對向量x進行變換後的結果,顯然cx和x的方向相同。而且x是特徵向量的話,ax也是特徵向量(a是標量且不為零),所以特徵向量不是一個向量而是一個向量族。

另外,特徵值只不過反映了特徵向量在變換時的伸縮倍數而已。對一個變換而言,特徵向量指明的方向才是很重要的,特徵值不那麼重要。雖然我們求這兩個量時先求出特徵值,但特徵向量才是更本質的東西!特徵向量是指經過指定變換(與特定矩陣相乘)後不發生方向改變的那些向量,特徵值是指在經過這些變換後特徵向量的伸縮的倍數

二、特徵值和特徵向量的計算

使用Matlab求矩陣的特徵值和特徵向量:

clip_image004

矩陣D的對角線元素儲存的是A的所有特徵值,而且是從小到大排列的。矩陣V的每一列儲存的是相應的特徵向量,因此V的最後一列儲存的就是矩陣A的最大特徵值對應的特徵向量。

三、特徵值和特徵向量的性質

性質1. n階方陣A=(aij)的所有特徵根為l1,l2,…, ln(包括重根),則

性質2. 若 l 是可逆陣A的一個特徵根,x為對應的特徵向量,則 是A-1的一個特徵根,x仍為對應的特徵向量。

性質3. 若 l 是方陣A的一個特徵根,x為對應的特徵向量,則lm是Am的一個特徵根,x仍為對應的特徵向量。

性質4. 設 l1,l2,…, lm是方陣A的互不相同的特徵值。xj是屬於li 的特徵向量( i=1,2,…,m),則 x1,x2,…,xm線性無關,即不相同特徵值的特徵向量線性無關 。

性質4可推廣為:設 l1,l2,…, lm為方陣A的互不相同的特徵值,x11,x12,…,x1,k1是屬於l1的線性無關特徵向量,……,xm1,xm2,…,xm,k1是屬於l的線性無關特徵向量。則向量組 x11,x12,…,x1,k1,…, xm1,xm2,…,xm,k1也是線性無關的。即對於互不相同特徵值,取他們各自的線性無關的特徵向量,則把這些特徵向量合在一起的向量組仍是線性無關的。

對於任意一個矩陣,不同特徵值對應的特徵向量線性無關。

對於實對稱矩陣或埃爾米特矩陣來說,不同特徵值對應的特徵向量必定正交(相互垂直)。

注:

埃爾米特矩陣(Hermitian matrix)(又稱“自共軛矩陣”)是共軛對稱的方陣。埃爾米特矩陣中每一個第i行第j列的元素都與第j行第i列的元素共軛相等。