1. 程式人生 > >資源|用Python和NumPy學習《深度學習》中的線性代數基礎

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

python 計機器學習 大數據 爬蟲 web

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

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

  • 博客地址:https://hadrienj.github.io/posts/Deep-Learning-Book-Series-Introduction/

  • GitHub 地址:https://github.com/hadrienj/deepLearningBook-Notes

  • 《深度學習》中文版下載地址:https://github.com/exacity/deeplearningbook-chinese

  • 推薦一個學習交流的Q-un,719-139-688,喜歡學習python的朋友一起來。

技術分享圖片

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

技術分享圖片

技術分享圖片

博客目錄。

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

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

技術分享圖片

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

符號表述:

技術分享圖片

再給出 python/numpy 示例代碼:

技術分享圖片

用 numpy 構建數組。

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

技術分享圖片

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

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

技術分享圖片

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

技術分享圖片

正定型函數的交互界面:

技術分享圖片

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

技術分享圖片

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

技術分享圖片

協方差矩陣的特征向量。

技術分享圖片

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

祝大家學習愉快!

文章轉載:機器之心


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