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