我將通過多個系列的文章來講述人工智能技術重要組成部分,線性代數(shù)作為人工智能數(shù)學理論基礎,是非常重要的一部分,我將用一個系列的文章來講解線性代數(shù)的本質(zhì),本文是本系列第七篇。
目錄
特征向量與特征值
向量究竟是什么?
向量的線性組合,基與線性相關
矩陣與線性相關
矩陣乘法與線性變換復合
三維空間中的線性變換
行列式
逆矩陣,列空間,秩與零空間
克萊姆法則
非方陣
點積與對偶性
叉積
以線性變換眼光看叉積
基變換
特征向量與特征值
抽象向量空間
快速計算二階矩陣特征值
張量,協(xié)變與逆變和秩
特征向量和特征值不好理解的主要原因是:它過于抽象,不太直觀,為了讓大家更好的理解,今天的內(nèi)容將盡量為大家呈現(xiàn)一種直觀解釋,其實只要大家掌握了前面所講的內(nèi)容,特征向量和特征值并不復雜,再次提醒大家:要時刻記住把矩陣看作是一種線性變換,除此之外,還要對基向量,線性方程組,以及基變換有一定的了解。
接下來,讓我們以一個線性變換出發(fā),假如現(xiàn)在有一個線性變換,它將基向量
下面,讓我們關注該變換對一個特定向量的作用,如下圖黃色箭頭代表的向量,粉色線代表由該向量張成的空間,也就是將黃色線縮放不同的比例后到達的所有點的集合,經(jīng)過線性變換后,該向量偏離了其張成的空間,這種情況很常見,如果變換后還落在其張成的直線上,這倒是像一個巧合了。
但確實存在這樣的向量,在變換后仍留在他張成的空間里,這意味著,矩陣對這些向量的作用僅僅是拉伸或者壓縮,就像一個標量對向量的作用一樣。
在前面的例子中,經(jīng)過矩陣
除了X軸上的向量,還有一個不太容易被發(fā)現(xiàn)的向量
以上兩條直線上的向量是滿足變換后仍停留在其張成的空間里的全部向量了,這兩條直線之外的任何向量,經(jīng)過變換后,都會或多或少發(fā)生旋轉,離開其張成的空間。
到這里,大家可能已經(jīng)猜到了,這些向量稱為變換(矩陣)的特征向量,每一個特征向量都會對應一個所屬的值,這個值被稱為“特征值”,特征值就是特征向量在變換中被它拉伸或者被它壓縮的比例因子。
前面這個例子,特征值都是正的,那么特征值可以是負數(shù)嗎?讓我們換一個例子,假設現(xiàn)在有一個變換矩陣
那我們?yōu)槭裁匆接懱卣飨蛄亢吞卣髦的??舉個例子,在三維旋轉中,如果能找到旋轉矩陣的特征向量,那么該特征向量就是旋轉的旋轉軸。
而且把一個三維旋轉看成是繞某個旋轉軸旋轉一定角度,要比處理一個3*3旋轉矩陣直觀的多。
順便提一下,對于上面的三維旋轉,特征值必須為1,因為旋轉不會改變特征向量長度,也就是不會改變物體的大小。
更一般的,我們將特征向量和特征值轉換為如下公式:
A
第一眼看到上面的公式,大家可能會很困惑,因為等式左側代表矩陣向量的乘積,而等式右側代表向量的數(shù)乘,所以我們的第一步就是將右側向量數(shù)乘的形式寫成矩陣向量乘積的形式。
而我們要求的這個矩陣,它的作用效果是:把任意向量乘以數(shù)
如上圖所示,該矩陣對角線元素都是
到這里,等式兩邊就都變成了矩陣與向量乘積的形式了:
把等號右邊的移動到等號左邊:
然后提出因子
(A-
我們現(xiàn)在的任務是尋找一個向量
如果我們掌握了前面所學的行列式的知識的話,我們知道當矩陣代表的變換將空間壓縮到更低的維度時,才會讓一個矩陣和一個非零向量的乘積為零向量。
而壓縮空間所對應的就是變換矩陣的行列式為0:
接下來,讓我們舉個具體的例子,如下圖所示,讓我們將
在這個例子中,如下圖所示,當
如上圖,以上就是一開始提到的,要理解特征向量和特征值的概念,需要前面章節(jié)所學習的知識,如果大家對行列式?jīng)]有足夠的了解,以及為什么他們與具有非零解的線性方程組有關,那么這個等式det(A-
為了探討特征向量和特征值的求解過程,我們還是以開頭的那個矩陣為例,如下圖,該變換矩陣為:
為了求解特征值
只有令該行列式為零時,
得到了特征值后,接下來就可以求解特征向量了,我們把
如上圖所示,求解特征向量
但并不是所有矩陣都有特征向量,例如,二維空間中的旋轉90度的變換矩陣
另一個例子是剪切變換,其變換矩陣為
這里還要注意一下,存在一個特征值,其對應的特征向量不在同一條直線上的情況,一個簡單的例子是將所有向量放大兩倍的線性變換
最后,讓我們以“特征基”來結束今天的內(nèi)容,該內(nèi)容依賴于前面章節(jié)所講的基變換的思想。
如果基向量恰好是特征向量時,會發(fā)生什么?例如,把
我們發(fā)現(xiàn),特征值都位于矩陣的主對角線上,矩陣其余元素為0,這種矩陣我們稱為對角矩陣,這種矩陣,所有基向量都是特征向量,矩陣主對角線上的元素是對應特征向量所屬的特征值。
使用對角矩陣處理問題,在很多情況下會非常簡便,例如:
由于應用對角矩陣的效果,都只是將每個基向量(特征向量)按照對應的特征值進行縮放,因此多次應用該矩陣,例如,應用100次該矩陣,相比于非對角矩陣,計算上會簡單地多。
雖然很少有基向量就是特征向量的巧合,但如果我們有很多特征向量,如下圖所示,足夠我們找到一組特征向量來張成整個空間,那我們就能變換我們的坐標系,使得這些特征向量稱為基向量,
我們在上一個章節(jié)已經(jīng)討論過基變換了,已經(jīng)知道了如何在不同的語言之間進行轉換,如下圖,首先使用兩個新的特征向量的坐標作為新的基向量,組成基變換矩陣:
用特征向量作為基向量來討論的意義在于這個新的復合矩陣必然是對角矩陣,而且其主對角線上的元素為特征值,它所處的坐標系的基向量在變換中只進行了縮放,一組基向量(特征向量)構成的集合被稱為“特征基”,所以大家要計算這個矩陣