理解線性代數的好課本!

2021-02-19 機器學習算法原理和應用

對線性代數的深入領悟:來自數據科學家ZQ。

最近被一篇文章線性代數(同濟版)恥辱柱 (以下簡稱吐槽文)火了。這篇文章一出,即引起很多討論。一時間有覺得自己本來可以走上數學家之光輝大道感嘆被耽擱一生的,也有奮起反擊認為同濟版本考研非常有效的,還有照舊的「你來你上」型評論。真是好久沒見到一本線性代數就會引起這麼大的討論了。

今天我本人也就蹭個熱點,和大家聊聊這本同濟版本的線性代數。我自己在大學期間並沒有直接用這本作為課本。當年學校教線性代數好像沒有教材,就是老師直接每節課板書。自己當時買了同濟版的線代做為輔助課本。當時的印象是感覺老師也是基本上遵循同濟版的順序一個個概念教過來。到了畢業以後用線代用的基本很少。直到幾年前轉行了以後,要重新補補基礎,才又拿起線代。美帝這邊線代有名的是MIT Gilber Strang的課本(如下圖)。這看起來以後就發現這本書讓我以前不懂的地方豁然開朗。所以今天就想和大家說說,為什麼這個書入門更佳。

線代的教學順序到底應該是怎樣

這個是吐槽文的第一個重點。這個我完全贊成。同濟版從行列式出發,第二章才講矩陣,第三第四章講向量和向量空間,然後接上線性空間和線性變換,最後是特徵值和二次型。說實話,要是手邊沒有一個同濟版的書,我是一定想不起來這個結構的。Strang的書就好多了,從解方程出發,到向量空間,線性變化,正交,行列式,然後特徵值,最後來個矩陣的數值計算和線性規劃來讓大家開開眼線性代數到底有什麼用。這個順序個人覺得更佳,更適合我這樣的工科背景的和學習線性代數希望馬上能用的學生。線性代數最早的起源從解方程組出發,所以從這裡開始引入線代的一些概念更加自然。當然,同濟版先從行列式開始也不是完全沒有道理。歷史上行列式對多元方程組的解起到很大的作用,這個作用現在已經完全沒落了,特別是各種高效的計算機上的矩陣分解算法讓解方程完全不需要使用行列式。但是,同濟版如果增加些「我們為什麼一開始要行列式呢?行列式曾經在解線性方程中間有什麼用呢?」,這樣把線性方程和行列式聯繫起來。這樣說不定學生進一步學習的興趣更濃。

線性代數的主要應用是什麼?

這點我覺得是同濟版做的最不好的一點。這點其實在吐槽文裡面並沒有著重展開,卻是我覺得區分同濟版和Strang版的一個重要的方面。對於大部分工科學生來說,線性代數其實將來會非常有用。首先,很多非線性的關係最後都通過各種方法來線性近似。舉個例子,在分析裡面的Taylor展開可以在一個定域解決很多比較困難的非線性問題。這樣一個非線性的問題就轉化成了一個線性的問題去解決。這幾年來一直爆火的神經網絡,本質上也是一個大規模的線性近似一個非線性關係。而線性代數,其實就是一個很方便的處理很多線性方程的一個非常好用的工具。從這點上來說,它基本上成了所有現在應用數學領域的基礎。

同濟版的線性代數不是沒有應用的部分,這點吐槽文也說了。不過很多應用的部分講的不透,而且非常簡略。以至於讀者完全不知道學習的方法有什麼用,還以為這些應用的例子是特例。相比而言,Strang的書基本上從頭到尾都是用例子回答「這些有什麼用」此類的靈魂拷問。比如:LU分解(說起來LU分解我壓根在同濟版裡面就沒有找到)本質就是高斯消元解方程;矩陣的列空間,核空間和基爾霍夫電流定律的關係;正交關係裡面的正交和幾何中的投影的關係。AX=b這樣的線性方程組在幾何中的表示,以及QR分解在函數空間的推廣就是勒讓德多項式;特徵值和特徵矩陣和解微分方程的關係,以及利用特徵值和特徵矩陣可以快速得到矩陣的冪值,快速得到矩陣的冪值在馬爾科夫過程中的用途;最後部分講了正定矩陣在極值問題裡面的廣泛應用。

從一個工科生的角度來說,如此緊密的把數學工具和它的的應用結合讓我的學習更有動力。我不否認純粹數學體系的美,但是對於我而言學習線性代數主要為了用它。比如我在之前完全不明白為什麼要特徵值和特徵向量。Strang一上來就提出了一個微分方程,在解的過程中自然引出了特徵方程:

而上式就是本徵值方程。

其次讓人驚豔的是相似變換。想當年學習這個概念的時候完全不知道這個概念有什麼用。Strang用了一個線性變化的例子,展示了這個線性變換在兩套不同坐標系下的表示。直觀的表現出來相似變化其實就是同一個線性變換在不同坐標系下的表示。所以特徵矩陣就是一個坐標系換到另外一個坐標系的線性變換。而特徵值組成的對角陣就是在這個新坐標系下的線性變換的等價表示。當然,這裡的描述還是一個非常簡單的概括,而且Strang的描述比本人的高超多了。所以要詳細理解這個,還是建議去看Strang的書。在這裡引用這個例子主要是為了說明結合有無應用對於理解線性代數的概念有很大的差別。

讓我最感差別的就算是二次型部分了。在同濟版本中,二次型這章節完全就是定理的堆砌,唯一的和幾何的關係部分也就是二次型如何代表了各種圓錐曲線。看了Strang的這部分,才讓人真正理解到二次型原來就是在優化過程中經常見到的Hessian矩陣。而Hessian矩陣,又其實是多元函數在某個點的Taylor展開中的二次項前面的係數。如此這般打通,為什麼大家要這麼執著直到正定,半正定和負定二次型呢?因為正定Hessian矩陣一定保證函數在此取得極小點。同濟版的基本上有Strang書上的所有知識點,但是都是止於正定負定判斷。看了讓人覺得似乎二次型,正定矩陣這樣類似的概念就是從石頭縫裡蹦出來的一樣。

線性代數教學要推廣到什麼程度

前面說的兩點其實大家一般共識度比較高。這第三點到底要在線性代數中間拓展更深的知識到什麼程度,那就見仁見智了。同濟版本基本完全沒有拓展,就是知識點的全覆蓋。有人在吐槽文的評論裡面說這主要是因為該書是為了全方位快速覆蓋考研知識點。這樣沒有拓展可以理解。Strang裡面其實有很多很有意思的拓展,讓人覺得線性代數很有意思。比如在線性空間和正交基之後涉及到了一點Hilbert空間,因為Hilbert空間的定義主要依賴於內積。然後據此從實數,複數組成的線性空間推廣到由函數組成的函數空間:矩陣中的內容不再是數字而是函數。矩陣中得到正交基的QR分解推廣到求正交函數。感覺Strang完全沒有「哦,這些超綱了」的感覺所以就刻意避開這些概念。當然,這些概念也被他在一個合適的地方拓展了開來。個人的感覺這樣類似的拓展其實是很有意思的,而且說實話我也很有興趣去進一步了解這些領域。所謂好書經常引人深思,估計不過如此吧?

所以說到最後到底應該用什麼?

我強烈建議如果你是初學線性代數,或者是想重新溫習一下,都從Strang的這本書開始比較好。如果你還需要考研,那麼可以在看完Strang之後快速看一下同濟版以免遺漏任何考研要點。

相關焦點

  • 如何學好線性代數?
    從哈爾莫斯說的這段話可以歸結兩個原因:第一是老師很爛,第二是課本很糟。如果學習一門科目的兩個重要(必要?) 條件不是爛就是糟,我們還能冀望學好它嗎?不過話說回來,即使哈爾莫斯的線性代數啟蒙老師是數學大師諾伊曼,哈爾莫斯未必當下就能真正明白線性代數在講什麼。我說的真正明白不是指考試拿高分,而是有一天你在洗澡時豁然開悟,奔出浴室光著身子在馬路上邊跑邊叫:「啊哈!我明白了!」
  • 線性代數重要,選對教材更重要:同濟版《線性代數》引發激烈爭議
    如果底層基礎打不好,不明白其中的原理,算法實現方式真的很難理解,更不可能去創新了。好的教材才能起到事半功倍的效果。目前這本教材已更新了好幾版,每次更新的內容看起來也是無關緊要,如果有下次版本更新,還是希望制定教材的老師們聽取一下廣大學生的建議。同濟版《線性代數》何以引發眾怒?
  • 線性代數重要,選對教材更重要:同濟版《線性代數》引發激烈爭議
    好多算法都用到線性代數的知識,就比如現在非常熱門的深度學習,它的底層實現方式用到好多線性代數方面的知識。如果底層基礎打不好,不明白其中的原理,算法實現方式真的很難理解,更不可能去創新了。好的教材才能起到事半功倍的效果。
  • 線性代數很重要,選對教材更重要:同濟版《線性代數》引發激烈爭議
    如果底層基礎打不好,不明白其中的原理,算法實現方式真的很難理解,更不可能去創新了。好的教材才能起到事半功倍的效果。目前這本教材已更新了好幾版,每次更新的內容看起來也是無關緊要,如果有下次版本更新,還是希望制定教材的老師們聽取一下廣大學生的建議。一直以來,同濟版《線性代數》都是一本頗有爭議的教材,它在知乎上的風評基本都是這個畫風:
  • 人工智慧中的線性代數:如何理解並更好地應用它
    當然,學習線性代數道阻且長。數學,尤其是線性代數常與枯燥、複雜和毫無意義的事物聯繫起來。不過你還可以另闢蹊徑。閱讀完本文後,你將了解到:線性代數的本質;線性代數的真實應用場景;線性代數可用於 AI、ML 和數據科學的原因;學習線性代數最有效的方法。
  • 重新理解線性代數
    線性代數是高等代數的一大分支。
  • 線性代數的概念理解
    1、線性代數的兩種認知數值層面,這是大部分課程中的教學內容,能解決計算、應用問題。但卻不是最本質的內容,它是在給定法則下的運算。
  • 線性代數教材第一章
    序  言      如果你接納我的建議,已經將16集線性代數本質看完並能理解作者想表達的意思,那麼接下來你可以開始學習教材了
  • 這才是線性代數的本質|經典好文!
    大部分工科學生,往往是在學習了一些後繼課程,如數值分析、數學規劃、矩陣論之後,才逐漸能夠理解和熟練運用線性代數。即便如此,不少人即使能夠很熟練地以線性代數為工具進行科研和應用工作,但對於很多這門課程的初學者提出的、看上去是很基礎的問題卻並不清楚。比如說:1、矩陣究竟是什麼東西?2、向量可以被認為是具有n個相互獨立的性質(維度)的對象的表示,矩陣又是什麼呢?
  • 如何看待清華大學將線性代數教材改為英文教材?
    作者:宜城漫士https://www.zhihu.com/question/352747514/answer/872679812教材真的是好教材,相信我,MIT的Gilbert Strang這本線性代數是我見過的初級入門線性代數最好的教材,從方程組的線性相關本質出發
  • 同濟版《線性代數》引發激烈爭議:深度學習基礎很重要
    如果底層基礎打不好,不明白其中的原理,算法實現方式真的很難理解,更不可能去創新了。好的教材才能起到事半功倍的效果。目前這本教材已更新了好幾版,每次更新的內容看起來也是無關緊要,如果有下次版本更新,還是希望制定教材的老師們聽取一下廣大學生的建議。一直以來,同濟版《線性代數》都是一本頗有爭議的教材,它在知乎上的風評基本都是這個畫風:
  • 最完整的修訂版線性代數公式總結
    鑑於部分平臺無法顯示一些特殊的線性代數符號,筆者就把整理好的線性代數資料以圖片形式呈現出來。這裡還有筆者總結的學習線性代數的心得體會,讀者朋友可以借鑑看看。首先把課本重新看一遍。這個階段主要是讓自己熟悉課本上關於一些知識點的概念。第二階段就是要開始著手查漏補缺。這個階段主要就是從頭到尾熟記,看看自己還有什麼沒學到位的地方。我們可以找一些配套的參考書進行第二階段的複習。如果遇到不會的或是不確定的知識點時,再查閱課本或者資料書。第三階段就是衝刺階段了。這一時期最好多做一些歷年考研的數一試卷的線代部分。這些題比較具有綜合性的,能真正的提高我們對於線性代數的掌握情況。
  • 線性代數的本質
    大部分工科學生,往往是在學習了一些後繼課程,如數值分析、數學規劃、矩陣論之後,才逐漸能夠理解和熟練運用線性代數。即便如此,不少人即使能夠很熟練地以線性代數為工具進行科研和應用工作,但對於很多這門課程的初學者提出的、看上去是很基礎的問題卻並不清楚。比如說:1、矩陣究竟是什麼東西?2、向量可以被認為是具有n個相互獨立的性質(維度)的對象的表示,矩陣又是什麼呢?
  • 2018考研數學:攻克線性代數要注意四點
    一、注重理解基本概念、基本性質   從歷年試題看,線性代數主要考查考生對基本概念、性質的深入理解以及分析解決問題的能力,需要考生能夠做到靈活地運用所學的知識,熟記一些解題方法去解決線性代數問題。所以大家在複習過程中要準確理解線性代數的基本概念,基本性質,為了深刻記憶,同學們可以結合一些例題和練習題來訓練,只要概念和方法理解準確到位,多做些相關題目,考試時碰到類似題目就一定能夠輕鬆正確解答。基礎知識的複習主要是在基礎階段進行,也就是今年暑期之前,要特別指出的是在基礎階段的複習中,不要輕視對教材中一般習題的練習,一定要配合各章節內容做一定數量的習題,總結一般題型的解題方法與思路。
  • 對2013考研數學真題的線性代數複習建議
    考研數學三個科目(高等數學、線性代數、概率統計)都有各自的特點,線性代數這個科目的考查特點又是什麼呢?我們先就今年考研數學中線性代數部分的試題做一下分析。從整體來看,今年的試題線性代數部分在數一、數二、數三中的考試內容是一致的,雖然數一沒有單獨考查向量空間,但與大綱要求也是相符的。今年的線性代數試題整體看來難度不大,計算量也不是很大。
  • 86歲還在錄網課:MIT教授Gilbert Strang最新「線性代數」課程上線
    無論你是在學校、油管、B 站還是其他地方學《線性代數》,相信你對 MIT 的 Gilbert Strang 老爺子都不會陌生。去年,清華將「線性代數」課本改成英文教材引發熱議,用的就是 Gilbert Strang 寫的《Introduction to Linear Algebra》。
  • 入門《線性代數》指南
    首先,「線性代數」這個名詞,在我的印象裡,僅僅是大學本科一年級的一門基礎數學課,至於老師教了什麼,我又學了什麼,忘得一乾二淨。那麼,為什麼又要重新學習線性代數呢?如果不懂這些表示方法,就很難理解模型,甚至連數據的表示形式都一頭霧水。3Blue1Brown <線性代數的本質>3個小時的短篇學習視頻,帶你了解線性代數的幾何解釋。
  • 線性代數與張量?這本開放書籍幫你掃清通往ML的數學絆腳石
    但是如果比較關注線性代數的應用,可能就需要閱讀這些基礎代碼,並順便學一學 Julia 語言了。最後,這一本書還提供了對應的課程 PPT,讀者也可以把它們作為輔助資料。它的目標是為只有很少或根本沒有線性代數基礎的初學者提供入門方法,包括線性代數的基本思想以及在數據科學和機器學習等領域的應用方法。
  • 工程數學-線性代數(第五版)課後答案及習題解析.主編:同濟大學數學系.
    書名:工程數學-線性代數版本:第五版
  • 線性代數:行列式難?看看數學之父華羅庚的方法,用牛刀殺雞!
    在線性代數課程中,矩陣一直貫穿著整個的學習過程。其實不僅如此,在整個數學界甚至其他學科,矩陣都有著極其不平凡的地位。而談要到學矩陣,中國誰學得最溜。那必然是我著名數學家,中國現代數學之父華羅庚先生了。何出此言呢?