資源|用Python和NumPy學習《深度學習》中的線性代數基礎

資源|用Python和NumPy學習《深度學習》中的線性代數基礎

來自專欄 Python大神進階之路

本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學演算法的能力。

對於初學者而言,《深度學習》(Ian Goodfellow、Yoshua Bengio、Aaron Courville)中的理論基礎部分可能過於簡略。作者按照這本書的第二章的線性代數內容來逐一介紹機器學習中的線性代數基礎,讀者可以在原書、中譯版或中文筆記中查看每個小節的基礎介紹,或直接參考該博客的推導部分。作者除了對部分概念進行詳細推導之外,還添加了多個示例,並給出了 python/numpy 的實現代碼。

  • 博客地址:hadrienj.github.io/post
  • GitHub 地址:github.com/hadrienj/dee
  • 《深度學習》中文版下載地址:github.com/exacity/deep
  • 推薦一個學習交流的Q-un,719-139-688,喜歡學習python的朋友一起來。

《深度學習》第二章目錄。

博客目錄。

純符號的公式推導可能令人覺得過於抽象,在博客中作者一般先列出具體案例,再給出符號表述。

例如,用帶彩色的數字方陣來解釋基本定義:

標量、向量、矩陣、張量的區別。

符號表述:

再給出 python/numpy 示例代碼:

用 numpy 構建數組。

對某些運算關係,作者給出了直觀可理解的圖示:

單位圓和由矩陣 A 變換後的橢圓,其中的向量是 A 的兩個特徵向量。

對於某些較為複雜的對象,作者還給出了函數可視化和交互界面。例如,在特徵值分解的二次型變換問題中,二次型函數

其正定型、負定型、不定型的可視化:

正定型函數的交互界面:

最後一個小節的 PCA(主成分分析)問題,是對之前介紹概念的綜合運用,讀者可以將其作為自主練習。

PCA 作為坐標系統變換問題。

協方差矩陣的特徵向量。

旋轉數據以在一個軸上得到最大方差。

祝大家學習愉快!

文章轉載:機器之心


推薦閱讀:

python 的 dict真的不會隨著key的增加而變慢嗎?
python中的模塊、庫、包有什麼區別?
機器學習-淺談隨機森林的幾個tricks-20170917
牛逼的Python書,你看過幾本?

TAG:Python | 深度學習DeepLearning | 機器學習 |