如何入門線性代數?這裡有一份Python線性代數講義

機器之心發表於2021-01-10
人工智慧的基礎是數學,線性代數又是其中的重要部分。然而,對於數學基礎不好的人來說,「線性代數」是一門非常抽象的課程。如何學習線性代數呢?這個 GitHub 專案介紹了一份入門級線性代數課程講義,適合大學生、程式設計師、資料分析師、演算法交易員等,使用的程式碼用 Python 語言寫成。

專案地址:https://github.com/MacroAnalyst/Linear_Algebra_With_Python

講義大致基於以下線性代數教科書:

  • 1. Linear Algebra and Its Applications 作者:Gilbert Strang(此前,我們曾介紹過他的最新線性代數課程

  • 2. Linear Algebra and Its Applications 作者:David Lay

  • 3. Introduction to Linear Algebra With Applications 作者:DeFranza、Gagliardi

  • 4. Linear Algebra With Applications 作者:Gareth Williams

如何入門線性代數?這裡有一份Python線性代數講義

該講義為初學者設定,不過它對略有線性代數和微積分知識的人也有幫助。學習者應具備 Python、NumPy、Matplotlib、SymPy 的基礎知識(3 天的訓練足夠了)。

為了使大家更容易地理解程式碼,講義中涉及的所有程式碼均以直觀的方式寫成,而沒有選擇高效或專業的程式碼風格。

專案作者表示:這些講義將為學習者提供資料學習、經濟計量學、數學統計學、控制論等嚴重依賴線性代數的學科最需要的基礎知識。耐心學習完之後,你將更好地掌握線性代數的基本概念,接下來就可以學習特殊矩陣及其應用。

講義內容

這份講義共包含 19 個章節,學習者可以使用 Jupyter NBViewer 開啟 notebook,或者直接下載學習。

  • 第一講:線性方程系統

  • 第二講:基礎矩陣代數

  • 第三講:行列式

  • 第四講:LU 分解

  • 第五講:向量運算

  • 第六講:線性組合

  • 第七講:線性無關

  • 第八講:向量空間與子空間

  • 第九講:基與維度

  • 第十講:行空間、列空間與零空間

  • 第十一講:線性變換

  • 第十二講:特徵值與特徵向量

  • 第十三講:對角化

  • 第十四講:動力系統的應用

  • 第十五講:內積與正交

  • 第十六講:Gram-Schmidt 正交化過程與 QR 分解

  • 第十七講:對稱矩陣與二次型

  • 第十八講:奇異值分解

  • 第十九講:多變數正態分佈


開啟對應的 notebook 後,學習者可以看到對線性代數基本概念的講解,以及程式碼和圖示等。以第十二講「特徵值與特徵向量」為例,下圖展示了其幾何直觀圖:

如何入門線性代數?這裡有一份Python線性代數講義

特徵向量與特徵值的幾何圖示。線上性變換前後方向相同的向量即為特徵向量,其長度比為特徵值。

相關文章