當前位置:
首頁 > 知識 > MIT—線性代數(上)

MIT—線性代數(上)

本文原載於知乎專欄「AI的怎怎,歪歪不喜歡」AI研習社經授權轉載發布。歡迎關注鄒佳敏的知乎專欄及AI研習社博客專欄(文末可識別社區名片直達)。

在中國不知所以的《線性代數》教材的目錄排版下,當前大多數本土畢業生均能熟練使用公式計算行列式或求解線性方程組,卻絲毫不能體會線性代數真正內涵的精髓所在。包括我在內,在學習機器學習那滿篇的矩陣表示更是讓人頭痛欲裂,這讓我事實上感受到了線性代數才是機器學習中最重要的數學工具,因此不得不靜下心來按照網易名校公開課—「MIT線性代數」重學一遍,受到的啟發超乎想像,線性代數新世界的大門似乎也對我緩緩打開,遂有了這兩篇學習筆記,供自己或有興趣的小夥伴後續參考。

1、 方程組的幾何解釋:一個特定的線性方程組可以從3個角度去觀察:行視圖,列視圖和矩陣表示。行視圖為所有人熟知,即求解空間內不同方程所代表的線、面、體交點;列視圖表示空間內列向量間的線性表示,在線性代數上用到最多;矩陣表示則是引入矩陣,將方程組以Ax=b重新編排,A是m*n的矩陣。從列視圖角度重新理解方程組的解,即向量b是否包含在A的列空間內,或b能否用A的列向量線性表出。

2、 矩陣消元:行空間角度。使用高斯消元求解Ax=b,將A化簡為行階梯形式,等價於使用某個矩陣變換E左乘A的行向量,即E·A·x=U·x=E·b,其中E記錄了高斯消元中所有的行變換,U表示行階梯形式的消元結果,是一個上三角矩陣。其中,行變換為左乘,列變換為右乘。

3、 乘法和逆矩陣:矩陣乘法A·B=C有4種解釋方式:中文教材中介紹最多的方法,Ai行·Bj列=Cij;A列空間·Bj列 =Cj列,即C的列向量是A列空間的線性組合;Ai行·B行空間=Ci行,即C的行向量是B行空間的線性組合;A列空間·B行空間=sigma(Aj列·Bi行)。如果A·B = B·A = I,則A與B互為可逆矩陣。若矩陣A可逆,則|A|不等於0,或者Ax=0隻有零解。逆矩陣可以通過將[A|E]全用行變換或全用列變換為[E|B]求得。

4、 A的LU分解:前文提到使用E記錄高斯消元所有步驟,即E·A=U可以對A的行空間變換得到上三角矩陣U。此時,考慮某個線性變換L,將U行重新變換回A,直觀理解L就是E的逆操作,即E逆,它是一個下三角矩陣。因此,對任意一個矩陣都存在L和U使其A=L·U。

5、 置換、轉置和向量空間:矩陣置換是交換A的兩行。置換目的是在A的行空間變換中,若消元後的主元位置並非依次排列,就需要通過額外的置換矩陣調整之。因此,準確來說,存在置換矩陣P,使得P·A=L·U。對於任意置換矩陣,,即。矩陣轉置就是互換A的行和列,其中,若A轉置·A=B,則B一定為對稱矩陣。向量空間Rn,由全體包含n個元素的向量構成,全體向量對數乘和加減運算封閉。向量空間Rn的子空間,無須包含Rn中的所有向量,但又滿足既定規則。因為向量空間一定要對任意數乘封閉,所以零向量一定包含在向量空間Rn的任意子空間中。換言之,如果某個向量組不包含零向量,則不能稱之為子空間。需要強調的是,向量空間Rn的n由向量中元素的個數決定,而其子空間的維數則由具體向量組的最大無關組的個數確定。對於,就代表R2空間中的1維子空間。另外,對於子空間P和L,兩者並集不是子空間,對加法不封閉。兩者的交集是子空間。

6、 列空間和零空間:A的列空間是由A矩陣列向量中最大線性無關組所構成的子空間。若無關組向量個數為r,則A的列空間即為Rm空間中的r維子空間。對A·x=b,若b位於A的列空間中,則方程組有解,否則無解。即如果m>n,即方程組方程個數大於變數個數,則A的列空間僅僅只是一個子空間,沒有把Rm空間撐滿,所以會存在無解的情況。倘若無關組個數r=m,則A的列空間撐滿Rm,對任意向量b,均有解。A的零空間是由A·x=0的解構成的子空間,若A消元後有r個主元,則存在n-r個自由變數,則A的零空間即為Rn空間中的n-r維子空間。另外,列空間和零空間必須滿足數乘和加減封閉。

7、 Ax=0主變數和特解:求解Ax=0首先要使用高斯消元將A轉換為標準行階梯矩陣U,求解Ux=0的解空間即A的零空間不變。我們稱U中每一行第一個非零元素所在的列為主元,個數為r,全零行對應的列為自由變數,個數為n-r。構造自由變數為線性無關向量後回代方程組,求解對應的主元數值,所得到的n-r個線性無關解向量被稱為基礎解系,基礎解系對應的解空間即為A的零空間。

8、 Ax=b可解性和解的結構:此時對[A|b]進行高斯消元,並化簡為標準行階梯矩陣。方程的可解性要參考m*n矩陣A與其列空間維數r之間的關係,其中r

9、 線性相關性、基和維數:線性無關表明不存在一組非零係數使得向量組之間可以線性表出,它是構成基的前提。基在線性無關的基礎上,還要有能力構建一個子空間,它決定子空間維數。維數則是在子空間中基的個數。總而言之,若全體向量組中每個向量有m個元素,但向量組內最大線性無關組個數為r,則該最大線性無關組即為Rm空間中r維子空間的基!對矩陣A來說,其最大線性無關的列向量組是A列空間的基,維數為r;Ax=0的自由變數所構建的基礎解系線性無關,是A零空間的基,維數為n-r。

10、 四個基本子空間:矩陣A的四個基本子空間中除了前文介紹的列空間和零空間外還有行空間和左零空間,這裡有一個小trick就是對行視圖中任何對象的研究都可以轉為對列視圖的研究。此時,的行空間即為的列空間,左零空間即為的零空間或。若定義m*n矩陣A的秩等於r,則列空間是Rm中的r維子空間,零空間是Rn中的n-r維子空間,行空間為Rn中的r維子空間,左零空間為Rm中的m-r維子空間。四個基本子空間可分為2組,行空間和零空間,列空間和左零空間,每組內部空間相互正交,且交點只有零向量。後文會詳細介紹。需要注意的是,對一個子空間的研究,不僅要學會如何判斷子空間(線性無關+數乘加減封閉),還要學會確定子空間維數和找基(構建Ax=0)。

11、 矩陣空間、秩1矩陣和小世界圖:向量空間中研究的對象是向量及其向量間的線性組合。而矩陣空間中的研究對象則變為矩陣,研究的是矩陣間的線性組合,同理,矩陣空間需要對數乘和加減封閉。舉例來說,對3*3矩陣而言,一般矩陣的維數是9,對稱矩陣的維數是6,單位矩陣的維數是3。對秩1矩陣的研究主要在於可以將任意秩為r的矩陣分解為r個秩1矩陣的乘積。兩個矩陣和的秩通常小於等於兩個矩陣秩的和,所以秩1矩陣本身並不能構成一個子空間,因為秩1矩陣和的秩通常發生了改變。小世界圖是「六度空間假設」的理論版本。

12、 圖和網路:線性代數的理論並非憑空捏造,它們來自實際問題,描述問題的拓撲結構,而線性代數通常就適合圖和網路問題中的數學建模。本課結合物理電流和電路理論,從線性代數的角度證明了歐拉公式和基爾霍夫電流定律。

13、 正交向量和子空間:因為正交向量間的點積等於0,即

,使用向量加法和模長的勾股定理容易求證。同時,也容易推得m*n矩陣A的行空間向量與零空間向量正交,列空間向量與左零空間向量正交。另外,由於各空間還需要滿足各自對應的維數,因此行空間與零空間互為Rn空間的正交補,即行空間包含與零空間相垂直的所有向量,而不是部分。列空間與左零空間同樣適用。由定義可知,兩個正交子空間只可能交於零向量一個點,否則無法滿足任意正交的條件。

14、 子空間投影:(個人認為這是線性代數在機器學習領域最重要的知識點!)

子空間投影由Ax=b引出,它解決的問題是:若Ax=b無解,如何得到最適合Ax=b的解呢?首先,由Ax=b無解,可以知道b不屬於A的列空間或b不能使用A列空間的基線性表出,這在m>n的長方形矩陣中非常常見,即A的列空間並沒有把Rm撐滿。因此,最優的方法就是把b投影到A的列空間中,求解Ax』=p,p是將b投影至A的列空間後的投影向量。

投影到一維子空間情形:將b向量投影到一維子空間上,即a向量方向,假設投影后的向量為投影模長係數,則與a正交的法向量,因此,移項得到,推出,所以投影后向量,其中P是對應的投影矩陣。因此,任意向量b都可以使用P投影到一維子空間a向量的方向上,換言之,對P列空間的基作任意線性組合均落在子空間a中,即P列空間撐滿了子空間a,因此P的列空間和秩都與投影子空間a相同,即過a的一條直線,秩為1。另外,投影矩陣必須滿足2個性質:,,即多次投影效果等於一次。

投影到二維及高維子空間情形:

將b向量投影到二維子空間上,即子空間基的方向。首先定義二維子空間的基a1,a2(A=[a1,a2]),則投影,其中。同理,與二維子空間垂直的法向量,易知,即,推出!如果A的列向量線性無關,秩=n,則可逆,得到投影,投影矩陣。P仍然滿足前例中的2個性質。同時,投影向量p位於A的列空間中,而對應的誤差法向量e則在左零空間上。

RECOMMEND


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

一文了解 Python的「Magic」 方法
Python初學者常犯的簡單錯誤集合與練習

TAG:AI研習社 |