万字长文|线性代数的本质课程笔记完整合集!
0、系列目錄
1.向量究竟是什么:https://www.bilibili.com/video/av5987715/?spm_id_from=333.788.reco_list.2
2.線性組合、張成的空間與基:https://www.bilibili.com/video/av6025713/?spm_id_from=333.788.videocard.0
3.矩陣與線性變換:https://www.bilibili.com/video/av6043439/?spm_id_from=333.788.videocard.0
4.矩陣乘法與線性變換復(fù)合:https://www.bilibili.com/video/av6128021/?spm_id_from=333.788.videocard.0、https://www.bilibili.com/video/av6143355/?spm_id_from=333.788.videocard.1
5.行列式:https://www.bilibili.com/video/av6179111/?spm_id_from=333.788.videocard.0
6.逆矩陣、列空間與零空間:https://www.bilibili.com/video/av6240005/?spm_id_from=333.788.videocard.0
7.點(diǎn)積:https://www.bilibili.com/video/av6299284?from=search&seid=12903800853888635103
8.叉積:https://www.bilibili.com/video/av6341515/?spm_id_from=333.788.videocard.1、https://www.bilibili.com/video/av6371571/?spm_id_from=333.788.videocard.19
9.基變換:https://www.bilibili.com/video/av6500834?from=search&seid=3249893627908257126
10.特征向量與特征值:https://www.bilibili.com/video/av6540378/?spm_id_from=333.788.videocard.0
11.抽象向量空間:https://www.bilibili.com/video/av6661309?from=search&seid=11789080179301962680
1、向量究竟是什么?
三種向量的觀點(diǎn)
線性代數(shù)中最基礎(chǔ),最根源的組成部分是向量,那么什么是向量呢?從不同學(xué)生的視角看,有以下三種觀點(diǎn):
物理專業(yè)學(xué)生的視角:向量是空間中的箭頭,決定一個(gè)向量的是它的長(zhǎng)度和所指的方向,只要這兩個(gè)要素相同, 向量可以任意移動(dòng)。
計(jì)算機(jī)專業(yè)學(xué)生的視角:向量是有序的數(shù)字列表,數(shù)字順序不可以隨意轉(zhuǎn)變。
數(shù)學(xué)專業(yè)的視角:向量可以是任何東西,只要滿足向量之間相加和數(shù)字與向量相乘都有意義即可。
我們先來考慮平面中的x-y坐標(biāo)系,向量被定義為從原點(diǎn)出發(fā)的有方向的箭頭。這與物理專業(yè)的看法略有不同,因?yàn)樗麄冋J(rèn)為向量在空間中可以自由落腳,但是在線性代數(shù)中,向量是從原點(diǎn)作為起點(diǎn)的。而向量的坐標(biāo)如[2,3],則是有序性的體現(xiàn),2代表橫坐標(biāo),3代表縱坐標(biāo),二者不可交換。
接下來,我們來介紹下向量的幾何意義、向量加法的幾何意義,以及向量乘法的幾何意義。
向量的幾何意義
考慮平面中的x-y坐標(biāo)系,由x軸和y軸組成,二者的交叉部分叫做原點(diǎn)。
一個(gè)向量的坐標(biāo)由一對(duì)數(shù)組成,這對(duì)數(shù)指導(dǎo)我們?nèi)绾螐脑c(diǎn)走到向量的終點(diǎn)。
如上圖的向量,它告訴我們先沿x軸往左移動(dòng)2個(gè)單位,再沿y軸移動(dòng)3個(gè)方向。
向量加法的幾何意義
假設(shè)我們現(xiàn)在有兩個(gè)向量:
如果我們把w從原點(diǎn)移動(dòng)到v的終點(diǎn),然后再連接原點(diǎn)和w的終點(diǎn),那么得到的向量就是二者的和。
為什么是這樣,還是回到向量的意義來,他定義了一種移動(dòng)方式,假設(shè)v的坐標(biāo)是[1,2],w的坐標(biāo)是[3,-1]。v告訴我們要沿x軸向右移動(dòng)1個(gè)單位,沿y軸向上移動(dòng)2個(gè)單位,而w告訴我們要沿x軸向右移動(dòng)3個(gè)單位,沿y軸向下移動(dòng)一個(gè)單位。這樣總體的移動(dòng)效果就是沿x軸向右移動(dòng)5個(gè)單位,沿y軸向上移動(dòng)1個(gè)單位,得到的結(jié)果是[5,1]。因此向量加法的幾何意義,我們可以看作是多次移動(dòng)的累積結(jié)果,從計(jì)算上來看,就是如下的式子:
向量乘法的幾何意義
向量乘法就是對(duì)向量進(jìn)行拉伸(乘以一個(gè)大于1的正數(shù)),壓縮(乘以一個(gè)小于1的正數(shù)),翻轉(zhuǎn)向量的行為(乘以一個(gè)負(fù)數(shù)),這些行為統(tǒng)稱為統(tǒng)稱為scaling。而向量乘上的這些數(shù)值本身,稱之為向量(scalars)。向量乘法的計(jì)算方式如下:
2、 線性組合、張成的空間與基
基向量
我們之間介紹了向量之間兩種最基本的運(yùn)算,向量相加 以及 向量的縮放。還是以二維平面為例,其實(shí)每一個(gè)向量都可以通過基向量(basis vectors)經(jīng)由上面的兩種運(yùn)算得到,假設(shè)我們的基向量是[1,0]和[0,1],如下圖:
當(dāng)然,基向量可以任意選擇,定義兩個(gè)向量v和w,以其為基向量,通過加法和乘法,可以得到平面中任意的向量:
基向量的嚴(yán)格定義為:向量空間中的基是張成該空間的一個(gè)線性無關(guān)的向量集:
線性組合
線性組合Linear Combination的幾何意義如下圖所示,完整上來說,其實(shí)是向量之間的線性組合,其主體是向量,線性組合是一個(gè)操作,將各個(gè)向量縮放之后,相加在一起,就得到了參與操作的向量之間的線性組合。
線性組合有下面是三種情況:
1)如果參與組合的一對(duì)向量不共線,那么由它們進(jìn)行線性組合所得到的向量可以達(dá)到平面上的任意一個(gè)點(diǎn):
2)如果參與組合的一對(duì)向量共線,那么由它們進(jìn)行線性組合所得到的向量的終點(diǎn)被限制在一條通過原點(diǎn)的直線:
3)如果參與組合的一對(duì)向量都是零向量,那么由它們進(jìn)行線性組合所得到的向量永遠(yuǎn)是零向量:
向量張成的空間
張成的空間:v與w全部的線性組合所構(gòu)成向量集合被稱為張成的空間。
對(duì)于平面來說,如果兩個(gè)向量不共線,那么可以張成整個(gè)二維平面,如果共線,只能張成一條直線。
對(duì)于三維空間來說,如果三個(gè)向量共線,那么只能張成一條直線,如果三個(gè)向量共平面,那么只能張成一個(gè)平面,如果三個(gè)向量不共平面,則可以張成整個(gè)三維空間。
線性相關(guān)
線性相關(guān):如果一組向量中,至少有一個(gè)對(duì)張成的空間沒有幫助,或者說其中一個(gè)向量可以表示成其他向量的線性組合,或者說其中一個(gè)向量在其他向量所張成的向量空間中。
線性無關(guān)則與線性相關(guān)相反,所有向量都不能表示成其他向量的線性組合:
3、矩陣與線性變換
線性變換Linear transformation
變換其實(shí)也是一種函數(shù),我們有一個(gè)輸入向量,然后經(jīng)過變換之后,得到一個(gè)輸出向量。整個(gè)過程,可以看作是輸入的向量移動(dòng)到了輸出的輸出的位置。考慮整個(gè)平面上的向量,在經(jīng)過變換之后,得到了一個(gè)最新的位置。
變換前的向量
變換后的向量
那什么是線性變換呢?滿足下面兩個(gè)條件:
1)所有的直線還是直線。即原先終點(diǎn)在一條直線上的向量,在經(jīng)過線性變換之后,這些向量還落在一條直線上。
2)原點(diǎn)還在原來的位置。
那么如何來描述我們的線性變換呢?考慮向量v = [-1,2],在i = [1,0]和j = [0,1]為基的情況下,v = -1 * i+2 * j,假設(shè)線性變換如下:
上圖中,原先的i=[1,0]變換到i'=[1,-2],原先的j=[0,1]變換到j(luò)'=[3,0],而原先的v變換到v'=[5,2],而關(guān)系 v' = -1 * i' + 2 * j'仍然存在。即圖中的式子成立。
所以說,一個(gè)2*2的矩陣,[[a,c],[b,d]]其實(shí)代表了一種線性變換,它把原來的[1,0]變換到[a,b]的位置,把原先空間中的[0,1]變換到[c,d]的位置。而該矩陣與一個(gè)向量[x,y]相乘的結(jié)果,相當(dāng)于對(duì)該向量做了一次線性變換,把向量移動(dòng)到新平面中對(duì)應(yīng)的位置:
4、矩陣乘法與線性變換復(fù)合
兩個(gè)2*2矩陣a和b相乘,可以看作是對(duì)原始空間連續(xù)做了兩次線性變換,而得到的計(jì)算結(jié)果c也是一個(gè)2*2的矩陣。使用c對(duì)原始空間進(jìn)行一次線性變換,和連續(xù)使用a和b對(duì)原始空間進(jìn)行兩次線性變換的效果相同。
矩陣的計(jì)算就不細(xì)講了,我們只需要知道,矩陣相乘的幾何意義是將兩次單獨(dú)的變換變?yōu)橐淮谓M合變換即可。
該結(jié)論到三維空間中也是同樣成立的。
5、行列式
如果在二維空間中,我們畫出相對(duì)應(yīng)的網(wǎng)格,那么線性變換,就是對(duì)這些網(wǎng)格做了拉伸,收縮或者反轉(zhuǎn)。那么如何來定義這種變換的程度呢?就需要用到行列式determinant的概念了。
舉一個(gè)簡(jiǎn)單的例子吧:
線性變換前
線性變換后
在進(jìn)行線性變換后,原來一個(gè)面積為1的單位方格,變成了面積為6的矩形。可以說,線性變換將原空間放大了6倍。
再看一個(gè)例子:
該線性變換把原二維空間壓縮成一條直線,行列式為0
上面的例子中,當(dāng)二維空間經(jīng)過一次線性變換被壓縮成一條直線甚至是一個(gè)點(diǎn)時(shí),行列式為0,因此可以通過行列式是否為0來判斷線性變換后的空間的維度是否與原空間相同。
我們知道,行列式的值是有正有負(fù)的,那么怎么判斷是負(fù)數(shù)呢?我們可以通過變換后的基向量i和j的方向來判定。
在變換之前,j是在i的左側(cè)的:
如果經(jīng)過線性變換后,j變成了在i的右側(cè),那么得到的行列式的值是負(fù)的:
那么到三維空間中,行列式的值就告訴我們經(jīng)過線性變換后,單位體積變化的程度,而行列式的值可以通過右手定則來判定:
那么行列式如何來計(jì)算呢?
二維空間行列式的計(jì)算
三維空間行列式的計(jì)算
6、逆矩陣、列空間與零空間
逆矩陣
我們先從線性方程組著手,一個(gè)線性方程組可以表示成Ax = v:
看到這里,你也許已經(jīng)知道這代表什么含義了,矩陣A相當(dāng)于一個(gè)線性變換,向量x在經(jīng)過A這個(gè)線性變換后,得到的向量為v。線性方程組的求解過程其實(shí)就是找到向量v在經(jīng)由A這個(gè)線性變換之前所在的位置x。
因此,我們可以把它變成另一個(gè)過程,即將v所在的線性空間,經(jīng)過另一個(gè)逆向的過程,變回x所在的線性空間,那么這個(gè)線性變換用矩陣表示,就是A的逆矩陣,用A-1表示。即逆矩陣A-1所代表的線性變換,是A所代表的線性變換的逆過程。因此A-1A相對(duì)于任何事情都沒有做。
那么既然逆矩陣相當(dāng)于線性變換的逆操作,因此只有在線性變換后空間的維數(shù)不變的情況下,才能進(jìn)行逆操作。再結(jié)合之前學(xué)習(xí)到的,線性變換不降維,前提條件是矩陣的行列式值不為0,因此矩陣的逆矩陣存在的前提,即矩陣的行列式值不為0。
矩陣的秩Rank
矩陣的秩即經(jīng)由該矩陣代表的線性變換后,所形成的空間的維數(shù)。比如在三維空間中,如果經(jīng)過某個(gè)矩陣A代表的線性變換后,空間變?yōu)橐粭l直線,那么這個(gè)矩陣的秩為1。如果空間變?yōu)橐粋€(gè)平面,那么這個(gè)矩陣的秩為2。如果還是三維空間,那么矩陣的秩為3.
列空間有兩種解釋:
1)假設(shè)矩陣A代表一個(gè)矩陣變換,原始空間中所有的向量,在經(jīng)由矩陣A的變換之后,所得到的所有新向量的集合
2)由矩陣A的列向量所張成的空間
比如下面的例子,[[2,-2],[1,-1]]這個(gè)矩陣,將二維空間變換為一條直線,那么這條直線就是矩陣的列空間。
零空間:如果某個(gè)向量空間在線性變換之后,存在降維,那么就會(huì)有一系列原來不是零向量的向量落到了零向量的位置,所有這些向量的集合構(gòu)成了零空間。
7、點(diǎn)積
點(diǎn)積的標(biāo)準(zhǔn)觀點(diǎn)
如果我們有兩個(gè)維數(shù)相同的向量,他們的點(diǎn)積就是對(duì)應(yīng)位置的數(shù)相乘,然后再相加:
從投影的角度看,要求兩個(gè)向量v和w的點(diǎn)積,可以將向量w朝著過原點(diǎn)的向量v所在的直線進(jìn)行投影,然后將w投影后的長(zhǎng)度乘上向量v的長(zhǎng)度(注意兩個(gè)向量的的夾角)。
當(dāng)兩個(gè)向量的夾角小于90度時(shí),點(diǎn)積后結(jié)果為正,如果兩個(gè)向量垂直,點(diǎn)積結(jié)果為0,如果兩個(gè)向量夾角大于90度,點(diǎn)積結(jié)果為負(fù)。
一個(gè)有趣的發(fā)現(xiàn)是,你把w投影到v上面,或者把v投影到w上面,結(jié)果是相同的。
但是你不覺得上面兩個(gè)過程是完全不同的嘛?接下來就直觀解釋一下。
假設(shè)我們有兩個(gè)長(zhǎng)度完全相同的向量v和w,利用其對(duì)稱性,無論將v投影到w上還是將w投影到v上,結(jié)果都是一樣的:
如果我們把其中一個(gè)向量變?yōu)?倍,這種對(duì)稱性被破壞了。假設(shè)我們把w投影到v上,此時(shí)投影的長(zhǎng)度沒變,但v的長(zhǎng)度變?yōu)閮杀?#xff0c;因此是原來結(jié)果的兩倍。同樣如果把v投影到w上,投影長(zhǎng)度變?yōu)?倍,但w長(zhǎng)度沒變,所以結(jié)果也是原結(jié)果的兩倍。所以對(duì)于兩個(gè)向量的點(diǎn)積來說,無論選擇哪個(gè)向量進(jìn)行投影,結(jié)果都是一樣的。
問題又來了,投影的思路和對(duì)位相乘再相加的思路,有什么聯(lián)系呢?聯(lián)想之前所學(xué)的線性變換過程,假設(shè)u是二維空間變換到一維空間后的基向量:
在第三講中我們已經(jīng)知道,一個(gè)2*2的矩陣,[[a,c],[b,d]]其實(shí)代表了一種線性變換,它把原來的[1,0]變換到[a,b]的位置,把原先空間中的[0,1]變換到[c,d]的位置。那么想要知道什么樣的線性變換可以將二維空間中的基向量i和j變換到一維空間中的基向量u,只需要知道i和j變換后的位置即可。i和j變換后的位置,相當(dāng)于對(duì)u所在的直線進(jìn)行投影,利用對(duì)稱性,可以得到相應(yīng)的結(jié)果,如下圖:
所以二維空間中的任意一個(gè)向量,通過上面的線性變換可以得到的一維向量。這個(gè)過程相當(dāng)于對(duì)二維向量進(jìn)行了投影。而根據(jù)矩陣乘法的計(jì)算方法,便可以將投影的計(jì)算方法和對(duì)位相乘再相加的方法聯(lián)系起來。
上面的思路總結(jié)起來,就是無論何時(shí)你看到一個(gè)二維到一維的線性變換,那么應(yīng)用這個(gè)線性變換和與這個(gè)向量點(diǎn)乘在計(jì)算上等價(jià):
上面是數(shù)學(xué)中“對(duì)偶性”的一個(gè)有趣實(shí)例。
8、叉積
首先來看叉積的標(biāo)準(zhǔn)介紹。叉積是通過兩個(gè)三維向量生成一個(gè)新的向量,新的向量滿足下面三個(gè)條件:
1)垂直于這兩個(gè)向量所張成的平面
2)其長(zhǎng)度等于這兩個(gè)向量所形成的四邊形的面積
3)其方向滿足右手定則
右手定則如下:
接下來看看叉積的具體計(jì)算,求行列式得到的是叉積后向量的長(zhǎng)度,叉積得到的向量的坐標(biāo)是下圖中的三個(gè)“某些數(shù)”。
接下來,深入理解叉積的含義,我們通過線性變換的眼光來看叉積。我們首先定義一個(gè)三維到一維的線性變換:
先回顧一下行列式的定義,三維空間中,3 * 3矩陣的行列式是三個(gè)向量所形成的平行六面體的有向體積(絕對(duì)值是體積,但需要根據(jù)方向判定其正負(fù)號(hào)),但這并非真正的叉積,但很接近:
假設(shè)我們把第一個(gè)向量變?yōu)樽兞?#xff0c;輸入一個(gè)向量(x,y,z),通過矩陣的行列式得到一個(gè)數(shù),這個(gè)數(shù)就代表我們輸入的向量與v和w所組成的平行六面體的有向體積:
為什么要這么定義呢?首先要指出的是,上面的函數(shù)是線性的。所以我們就可以將上面的行列式過程表示成一個(gè)變換過程:
同時(shí),當(dāng)線性變換是從多維到一維時(shí),線性變換過程又可以表示為點(diǎn)積的形式:
即p的結(jié)果是:
所以,問題其實(shí)變換為了,找到一個(gè)向量p,使得p和某個(gè)向量(x,y,z)求點(diǎn)積的結(jié)果,等于對(duì)應(yīng)的三維方陣行列式的值(即(x,y,z)和向量u、v所組成的平行六面體的有向體積)。
左邊是一個(gè)點(diǎn)積,相當(dāng)于把(x,y,z)向p上投影,然后投影長(zhǎng)度和p的長(zhǎng)度相乘:
而右邊平行六面體的體積,可以拆解為底面積 * 高。底面積可以認(rèn)為是v和w所組成的平行四邊形的面積,高的話是(x,y,z)在垂直于v和w所張成的平面的方向上的分量的長(zhǎng)度。
那么:
點(diǎn)積 = (x,y,z)在p上投影的長(zhǎng)度 * p的長(zhǎng)度
體積 = v和w所組成的平行四邊形的面積 * (x,y,z)在垂直于v和w所張成的平面的方向上的分量的長(zhǎng)度
根據(jù)二者相等,可以認(rèn)為p的長(zhǎng)度是v和w所組成的平行四邊形的面積、p的方向垂直于v和w所張成的平面。這樣我們的p就找到了,而p就是我們要找的叉積的結(jié)果,是不是很奇妙!
詳細(xì)的過程還是推薦大家看一下視頻,講的真的非常好!
9、基變換
在二維空間中的向量[3,2],我們可以將其看作向量伸縮再相加的結(jié)果,比如把i即[1,0]變長(zhǎng)為3倍,把j即[0,1]變長(zhǎng)為2倍,再相加。
一個(gè)向量本沒有坐標(biāo),之所以能夠把向量轉(zhuǎn)換成一組坐標(biāo),或者說能把向量轉(zhuǎn)換成一組有序的數(shù),是因?yàn)槲覀冊(cè)O(shè)定了一個(gè)坐標(biāo)系。
發(fā)生在向量與一組數(shù)之間的任意一種轉(zhuǎn)化,都被稱為一組坐標(biāo)系。之所以上面的向量表示為[3,2],是因?yàn)榘裪伸長(zhǎng)為3倍、把j伸長(zhǎng)為2倍,再相加的結(jié)果。平面中任意其他向量都可以表示為i和j的有向伸縮倍數(shù),此時(shí)i和j就被稱為坐標(biāo)系的基向量。
但本節(jié)想主要介紹的是基變換的概念,假設(shè)我們的朋友詹妮弗使用另一組坐標(biāo)系,即有另一組不同的基向量b1和b2。
那原先在我們的坐標(biāo)系中[3,2]的向量,使用詹妮弗的坐標(biāo)系的話,就不再是[3,2]了,而是b1和b2的縮放倍數(shù),即[5/3,1/3]:
同一個(gè)向量,使用不同的坐標(biāo)系,得到的坐標(biāo)是完全不同的,那么如何在不同的坐標(biāo)系中進(jìn)行坐標(biāo)轉(zhuǎn)換呢?在詹妮佛的坐標(biāo)系中,她的b1和b2是[1,0]和[0,1]:
但在我們的坐標(biāo)系中,b1和b2分別是[2,1]和[-1,1]:
假設(shè)在詹妮佛的坐標(biāo)系中,有一個(gè)坐標(biāo)是[-1,2]的向量,那么在我們的空間中,這個(gè)向量的坐標(biāo)是什么呢?
這個(gè)向量的坐標(biāo)是-1 * b1 + 2 * b2,而b1和b2在我們的坐標(biāo)系中的坐標(biāo)分別是,[2,1]和[-1,1],因此結(jié)果是[-4,1]
上面的過程用矩陣相乘來表示,即:
前面介紹過,一個(gè)矩陣其實(shí)代表一個(gè)線性變換,矩陣[2,-1;1,1]的意思可以理解為,將我們空間中的[1,0]、[0,1],轉(zhuǎn)換到詹妮佛空間中的[1,0]、[0,1],而詹妮佛空間中的[1,0]、[0,1],在我們空間看的話,坐標(biāo)分別是[2,1]和[-1,1]。
因此將詹妮佛坐標(biāo)系下一個(gè)向量的坐標(biāo)轉(zhuǎn)換成我們坐標(biāo)系下的坐標(biāo),只需要左乘上這個(gè)矩陣即可。
相反的,如果把我們坐標(biāo)系下的一個(gè)向量的坐標(biāo),轉(zhuǎn)換成詹妮佛坐標(biāo)系下對(duì)應(yīng)的坐標(biāo),應(yīng)該是一個(gè)相反的過程,因此使用對(duì)應(yīng)矩陣的逆:
因此,想要知道我們空間中[3,2]如何轉(zhuǎn)換在詹妮佛坐標(biāo)系下的坐標(biāo),需要乘上相應(yīng)的逆矩陣:
最后再總結(jié)一下上面的過程,現(xiàn)在有兩個(gè)坐標(biāo)系,我們的坐標(biāo)系和詹妮佛的坐標(biāo)系,兩個(gè)坐標(biāo)系各有一組基向量,從各自的角度看,基向量的坐標(biāo)都是[1,0]和[0,1],但是在我們的坐標(biāo)系中,詹妮佛的基向量對(duì)應(yīng)的坐標(biāo)分別是[2,1]和[-1,1],那么將用詹妮佛的坐標(biāo)系描述的向量轉(zhuǎn)換為用我們的坐標(biāo)系描述的相同向量,只需要左乘用我們的坐標(biāo)系來描述的詹妮佛的基向量矩陣即可:
逆矩陣則相反:
更進(jìn)一步,考慮一個(gè)旋轉(zhuǎn)90度的線性變換,我們的基向量[1,0]和[0,1],變換后的坐標(biāo)分別是[0,1]和[-1,0]:
那么在詹妮佛空間中如何表示同樣的變換呢?是左乘下面的矩陣么?
答案是否定的,上面的矩陣是在追蹤我們所選的基向量的變化,也就是說,把我們的坐標(biāo)系旋轉(zhuǎn)90度得到了另一個(gè)坐標(biāo)系b,坐標(biāo)系b下的基向量用我們的坐標(biāo)系表示的話是[0,1]和[-1,0]。
那在詹妮佛坐標(biāo)系下,一個(gè)向量旋轉(zhuǎn)90度后的坐標(biāo)是什么呢?比如詹妮佛坐標(biāo)系下的坐標(biāo)為[-1,2]的向量,首先需要轉(zhuǎn)換到我們的空間中坐標(biāo),然后在進(jìn)行旋轉(zhuǎn)90度的變換,最后在變回到詹妮佛空間中的坐標(biāo):
三個(gè)矩陣相乘的結(jié)果,就是用詹妮佛語言描述的變換矩陣:
因此,每當(dāng)你看到A-1MA的時(shí)候,它其實(shí)代表的是一種數(shù)學(xué)上的轉(zhuǎn)移作用,將我們坐標(biāo)系中的一個(gè)線性變換M,作用到另一個(gè)坐標(biāo)系中!非常神奇!
10、特征向量與特征值
本篇來講一下線性代數(shù)中非常重要的一個(gè)概念:特征向量/特征值。
前面介紹過,一個(gè)矩陣代表的是一種線性變換,考慮二維空間中的某個(gè)線性變換,它將i即[1,0]變換到[3,0]的位置,將j即[0,1]變換到[1,2]的位置,那么對(duì)應(yīng)的矩陣就是[3,1;0,2](先說一下寫法,這里的[3,1;0,2],其中3,1是第一行,0,2是第二行):
在這個(gè)變換過程中,很多向量都離開了其原本所張成的空間,即所在的直線,但也有一些向量在變換后,仍恰好落在原來的直線上:
如上面的例子中,基向量i就落在了原來的直線即x軸上,只不過是被拉長(zhǎng)了三倍,同樣的,x軸上的任何其他向量在經(jīng)過變換后都只是被拉伸為原來的三倍,且方向不變:
除了x軸上的向量外,向量[-1,1] 所在的直線上的向量在變換后仍在原來的直線上,只是長(zhǎng)度被拉長(zhǎng)了兩倍:
總結(jié)一下,在剛才的線性變換中,有兩條直線上的向量,在變換后仍在其所在的直線上,只不過長(zhǎng)度和方向發(fā)生了改變,但其他的向量,都離開了它所張成的直線:
想必大家都知道結(jié)果了,經(jīng)過上面矩陣所代表的線性變換,兩條位置不變的直線上的向量都可以稱之為特征向量,而對(duì)應(yīng)伸縮的大小,就稱之為特征值。值得一提的是,如果線性變換后是反向伸縮,那么特征值是負(fù)的:
接下來簡(jiǎn)單介紹一下特征值和特征向量的計(jì)算方法,首先根據(jù)剛才的介紹,一個(gè)矩陣A的特征向量,在經(jīng)過這個(gè)矩陣所代表的線性變換之后,沒有偏離其所張成的直線,而只是發(fā)生了伸縮或方向改變,所以首先可以寫出下面的式子:
接下來要求解特征向量和特征值,首先需要做下變換,因?yàn)榈仁降淖筮叴淼氖蔷仃嚭拖蛄肯喑?#xff0c;右邊代表的是一個(gè)數(shù)和向量相乘,所以先把右邊變?yōu)榫仃嚭拖蛄肯喑说男问?#xff0c;即讓?duì)伺c單位矩陣相乘:
然后就可以都移到等號(hào)左邊,提出公因子來:
接下來的目標(biāo)就是求解向量v,使得v與(A-λI)相乘的結(jié)果為零向量。如果v本身是零向量的話,那等式恒成立。但我們真正想找的是非零的特征向量。
回顧本系列視頻第五講的內(nèi)容,當(dāng)一個(gè)二維矩陣的行列式為0時(shí),它能代表的線性變換能將空間壓縮為一條直線或者是零點(diǎn)。因此,想讓v經(jīng)過(A-λI)變換后的結(jié)果為零向量,(A-λI)的行列式值必須為0,所以整個(gè)過程如下:
以最開頭提到的矩陣作為例子,很容易求解出特征值是2或者3:
求解出特征值了,如何求解對(duì)應(yīng)的特征向量呢?以特征值2為例子,求解如下的方程組即可,你可以發(fā)現(xiàn),一條直線上的所有向量都可以作為特征向量:
一般情況下,一個(gè)二維矩陣有兩個(gè)特征值,而對(duì)應(yīng)的特征向量在兩條直線上,但也存在一些特殊情況。如有時(shí)候只有一個(gè)特征值,以及特征向量分布在一條直線上,如下面的矩陣,只有1個(gè)特征值,為1:
有一些矩陣并沒有對(duì)應(yīng)的特征值,比如將空間旋轉(zhuǎn)90度的線性變換所對(duì)應(yīng)的矩陣,空間中所有的向量在經(jīng)過其變換后都偏離了原來的直線,旋轉(zhuǎn)了90度,因此其沒有特征向量。
更特別的,有時(shí)候一個(gè)矩陣只有一個(gè)特征值,但是其對(duì)應(yīng)的特征向量分布在不同的直線上,如下面的矩陣將空間中所有的向量都拉伸了兩倍,它只有一個(gè)特征值2,但是所有的向量都是其特征向量:
最后,講一下特征基的概念。講到基,又得搬出坐標(biāo)系的概念了。假設(shè)我們坐標(biāo)系的基是[1,0]和[0,1],如果基向量都是特征向量,那么會(huì)發(fā)生什么呢?沒錯(cuò),如果基向量都是一個(gè)矩陣的特征向量,那么這個(gè)矩陣就是一個(gè)對(duì)角矩陣,而對(duì)角線上的值,就是對(duì)應(yīng)的特征值:
這句話反過來說對(duì)不對(duì)呢?即如果一個(gè)矩陣是對(duì)角矩陣,那么對(duì)應(yīng)的特征向量都是基向量?好像有點(diǎn)問題,比如剛才的[2,0;0,2],它是一個(gè)對(duì)角矩陣,但其特征向量包括了所有的向量,而并非只有基向量。
但很多情況下,特征向量并非是基向量,但至少能夠找到一組能夠張成整個(gè)空間的向量集合,還是本文開頭所講的例子:
如果能找到這樣一組向量,那我們就能變換坐標(biāo)系,使這些向量成為新的坐標(biāo)系下的基向量。這里先簡(jiǎn)單回顧一下上一個(gè)視頻中所講到的基變換的概念。假設(shè)我們的坐標(biāo)系基向量分別是[1,0]和[0,1],那么矩陣[2,-1;1,1]的意思可以理解為,將我們空間中的[1,0]、[0,1],轉(zhuǎn)換到另一個(gè)空間中的[1,0]、[0,1],而另一個(gè)空間中的[1,0]、[0,1],在我們空間看的話,坐標(biāo)分別是[2,1]和[-1,1](這里可能比較繞,需要轉(zhuǎn)一下彎)。
因此,矩陣[2,-1;1,1]所代表的線性變換,可以理解為將另一組坐標(biāo)系下某一個(gè)向量的坐標(biāo),轉(zhuǎn)換到我們這組坐標(biāo)系下的坐標(biāo),同樣的,矩陣[2,-1;1,1]的逆代表將一個(gè)向量在我們坐標(biāo)系下的坐標(biāo),轉(zhuǎn)換成另一個(gè)坐標(biāo)系下的坐標(biāo)。
因此如果想要將我們坐標(biāo)系下的一個(gè)線性變換M,作用到另一個(gè)坐標(biāo)系中,需要怎么做呢?首先要將一個(gè)向量在另一個(gè)坐標(biāo)系中的坐標(biāo)轉(zhuǎn)換到我們的空間中坐標(biāo),然后在進(jìn)行線性變換M,最后在變回到另一個(gè)空間中的坐標(biāo):
最后還是最開始的例子,假設(shè)想讓在我們的坐標(biāo)系下得到的特征向量(因?yàn)橹本€上所有的向量都可以作為特征向量,因此這里取了一個(gè)特例[-1,1],[1,0])作為新的坐標(biāo)系下的基向量,新的坐標(biāo)系下[1,0]和[0,1]對(duì)應(yīng)的向量,在我們的坐標(biāo)系下分別是[1,0]和[-1,1],那么就可以得到一個(gè)基變換矩陣[1,-1;0,1](基變換矩陣可以將另一個(gè)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換為我們這個(gè)坐標(biāo)系下的坐標(biāo))。
思考下面三個(gè)矩陣相乘的結(jié)果的結(jié)果:
假設(shè)中間的矩陣為M,那么上面三個(gè)矩陣相乘的意思其實(shí)是對(duì)另一個(gè)坐標(biāo)系下定義的向量坐標(biāo)應(yīng)用在我們坐標(biāo)系下的線性變換M。三個(gè)矩陣相乘的結(jié)果是一個(gè)對(duì)角矩陣,且對(duì)角線元素為對(duì)應(yīng)的特征值:
從直觀上理解,由于選擇了矩陣M的特征向量作為新坐標(biāo)系下的基向量,基向量在變換中只是進(jìn)行了縮放。從數(shù)學(xué)上理解,如果把上面式子中左右兩邊同左乘矩陣[1,-1;0,1],其實(shí)就是特征向量的定義。把一個(gè)矩陣的特征向量作為基向量,這組基向量也稱為特征基:
根據(jù)上面的式子,使用矩陣M的特征向量所組成的矩陣,成功將M進(jìn)行了對(duì)角化。但并不是所有的矩陣都可以對(duì)角化,只有矩陣的特征向量夠多,能夠張成全空間時(shí),才能進(jìn)行對(duì)角化。
11、抽象向量空間
這是本系列課程的最后一節(jié),主要來重談一下什么是向量。
什么是向量?以二維向量為例,可以認(rèn)為他是一個(gè)平面內(nèi)的一個(gè)箭頭,然后在坐標(biāo)系下給它賦予了一組坐標(biāo),也可以理解為是一組有序的實(shí)數(shù)對(duì),我們只是將他形象理解為平面內(nèi)的一個(gè)箭頭。
但本節(jié)想討論一下既不是箭頭,也不是一組數(shù)字,但具有向量性質(zhì)的東西,如函數(shù)。函數(shù)其實(shí)是另一種意義上的向量,如滿足向量加法:
同樣滿足數(shù)乘性質(zhì):
再來說一下函數(shù)的線性變換,這個(gè)變換接受一個(gè)函數(shù),然后把它變成另一個(gè)函數(shù),如導(dǎo)數(shù):
一個(gè)函數(shù)變換是線性的,需要滿足什么條件呢?先回顧一下線性的嚴(yán)格定義,它需要滿足如下的兩個(gè)條件:
求導(dǎo)是線性運(yùn)算,因?yàn)樗矟M足可加性和成比例:
接下來,我們嘗試用矩陣來描述求導(dǎo),先把眼光限制在多項(xiàng)式空間中,整個(gè)空間中可以包含任意高次的多項(xiàng)式:
首先給這個(gè)空間賦予坐標(biāo)的含義,這需要選取一個(gè)基,這里更準(zhǔn)確的說法是選擇一組基函數(shù),一個(gè)很自然的想法是(b0(x)=1,b1(x) = x,b2(x) = x2....),這組基函數(shù)的包含無限多個(gè)基函數(shù),因?yàn)槎囗?xiàng)式的次數(shù)可以是無限的:
這樣,一個(gè)多項(xiàng)式函數(shù)可以表示成一組坐標(biāo),例如:
再比如:
更加通用的寫法是:
在這個(gè)坐標(biāo)系中,求導(dǎo)是用一個(gè)無限階矩陣描述的,主對(duì)角線上方的次對(duì)角線有值,而其他地方為0,舉個(gè)例子:
這個(gè)求導(dǎo)矩陣是怎么得到的呢?很簡(jiǎn)單,對(duì)每個(gè)基函數(shù)進(jìn)行求導(dǎo),然后放在對(duì)應(yīng)的列上即可,比如b2:
所以,乍一看矩陣向量乘法和求導(dǎo)是毫不相關(guān)的,但其實(shí)都是一種線性變換,但是有時(shí)候名字可能不太一樣:
哈哈,可以看到,數(shù)學(xué)中有很多類似向量的事物:
向量可以是任何事物,只要它滿足下面的八條公理即可:
好了,本系列課程的筆記就到這里了,喜歡的大家點(diǎn)個(gè)贊哇!記得一定要去看原視頻喲!
機(jī)器學(xué)習(xí)初學(xué)者
黃海廣博士創(chuàng)建的公眾號(hào),黃海廣博士個(gè)人知乎粉絲21000+,github排名全球前120名(30000+)。本公眾號(hào)致力于人工智能方向的科普性文章,為初學(xué)者提供學(xué)習(xí)路線和基礎(chǔ)資料。原創(chuàng)作品有:吳恩達(dá)機(jī)器學(xué)習(xí)個(gè)人筆記、吳恩達(dá)深度學(xué)習(xí)筆記等。
往期精彩回顧
那些年做的學(xué)術(shù)公益-你不是一個(gè)人在戰(zhàn)斗
良心推薦:機(jī)器學(xué)習(xí)入門資料匯總及學(xué)習(xí)建議
吳恩達(dá)機(jī)器學(xué)習(xí)課程筆記及資源(github標(biāo)星12000+,提供百度云鏡像)
吳恩達(dá)深度學(xué)習(xí)筆記及視頻等資源(github標(biāo)星8500+,提供百度云鏡像)
《統(tǒng)計(jì)學(xué)習(xí)方法》的python代碼實(shí)現(xiàn)(github標(biāo)星7200+)
精心整理和翻譯的機(jī)器學(xué)習(xí)的相關(guān)數(shù)學(xué)資料
首發(fā):深度學(xué)習(xí)入門寶典-《python深度學(xué)習(xí)》原文代碼中文注釋版及電子書
圖解word2vec(原文翻譯)
備注:加入本站微信群或者qq群,請(qǐng)回復(fù)“加群”
加入知識(shí)星球(4100+用戶,ID:92416895),請(qǐng)回復(fù)“知識(shí)星球”
總結(jié)
以上是生活随笔為你收集整理的万字长文|线性代数的本质课程笔记完整合集!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python实现快速排序(非递归实现)
- 下一篇: 如何应对“吴恩达:人工智能落地最重要的挑