眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

這是《機器學習中的數學基礎》系列的第7篇,也是線性代數的最後一篇。

我們已經知道,矩陣和向量的乘法就相當於對該向量做了一個線性變換。在這個變換中,大部分的向量都發生了偏移,脫離了原“軌道”。舉個例子:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

如上圖所示,向量w(2,3)在矩陣[-1,1;2,-2]的作用下,線性變換為另一個向量p(1,-2)。pw明顯不在一條直線上,發生了偏移。那有沒有一個矩陣,恰好使線性變換之後新向量p和原來的向量w在同一條直線上呢?我們再看一個例子:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

如上圖,還是向量w(2,3),此時線性變換的矩陣變成了[1/2,1;0,2],產生的新向量p(4,6)跟w還在同一條直線上。我們用公式可以表示成:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

也就是說,矩陣A對向量

v所做的線性變換,就相當於對向量v做了拉伸或者壓縮,λ就是拉伸或者縮放的倍數。此時,我們將λ稱作特徵值,而向量v稱作特徵向量。

再仔細觀察(1)式,是否可以把等式兩邊的v消去,得到A=λ呢?首先,涉及到向量的乘法是不可以直接消元的;其次,A是一個矩陣,λ是一個標量,這倆是不可能相等的。那又該怎麼辦呢?

這時,單位矩陣I就派上用場了。我們已經知道:Iv=vI=v,可以在(1)式的右邊乘以I,得到:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

此時λI就是一個矩陣了,我們把等式右邊的項移到左邊,再提取出公共的v,可以得到:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

注意,等式右邊的0是一個向量,而不是標量。(2)式說明,矩陣乘以向量,結果是0

向量。這就表明,向量v經過一個線性變換後,被壓縮成了一個點。我們知道,矩陣的行列式表示線性變換後面積的變化。而這裡的向量v被壓縮成了點,所以其對應的矩陣的行列式為0.也就是說:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

給定了(3)式,我們就能求解出特徵值λ,進而得到特徵向量v

。舉個例子,我們有矩陣:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

如何求它的特徵值呢?首先,我們要求AI,可得:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

然後求det(AI),即該矩陣的行列式:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

令(4)式為0,解得λ為:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

之後,我們把λ代入(2)式,就能求出向量v了(這裡省略求解過程,用高斯消元法即可求得)。

說了這麼多,那任何一個矩陣都有特徵值和特徵向量嗎?我們還是來看一個例子,有一個矩陣如下:

眾人皆醉我獨醒——深入理解“特徵值”和“特徵向量”

我們可以求得det(A

I)為λ²+4,令其等於0,得到λ²=-4。在實數範圍內,不存在λ的解,因此我們說該矩陣是沒有特徵值和特徵向量的。

線性代數的相關內容就告一段落了,下篇我們將會進行微積分的介紹,敬請期待。


分享到:


相關文章: