“花書”的佐餐,你的線性代數筆記
原作:Hadrien Jean
線性栗子 編譯自 GitHub
量子位 出品 | 公眾號 QbitAI
最近,巴黎高等師範學院的博士生Hadrien Jean,整理了關於深度學習“花書”的一套筆記,還有幸在推特上被Ian Goodfellow老師翻了牌。
△ 充滿愛意的一推
這份筆記是針對“花書”的線性代數一章,快要畢業的Jean希望初來乍到的小朋友們,可以在筆記的輔佐之下,瞭解深度學習裡最常用的數學理論,並加以輕鬆的支配。
要解鎖自己的資料科學技能,或許就要從線性代數開始。而對於深度學習領域的大家,如果把理論和程式碼搭配食用,療效可能會更好。
而Jean在筆記裡列舉的各種例子,可以幫助初學者用一種更直觀且實用的方式,學好線代。要跟住他的腳步,可能需要準備好Numpy和Python。
現在,我們來看一下,這份筆記走的是怎樣一個療程——
1 標量、向量、矩陣和張量
△ 標量,向量,矩陣,張量 (左起)
這一課講了向量和矩陣,以及它們的一些基礎運算。另外,這裡介紹了Numpy的一些相關函式,也淺淺地談到了Broadcasting機制。
2 矩陣和向量的乘法
△ 矩陣與向量的點乘
本小節主要討論的是,向量和矩陣的點積,我們可以從中瞭解矩陣的一些屬性。之後,便是用矩陣符號來建立一個線性方程組——這也是日後的學習裡,經常要做的事情。
3 單位矩陣和逆矩陣
△ 單位矩陣長這樣
我們要了解這兩種矩陣為什麼重要,然後知道怎樣在Numpy裡和它們玩耍。另外,本小節包含用逆矩陣求解線性方程組的一個例題。
4 線性依賴與線性生成空間
線性方程組,除非無解,不然要麼有唯一解,要麼有無窮多解。
看著影像,我們可能更直觀地瞭解,這件看上去理所當然的事情,背後的道理是什麼。
△ 無解,一解,無窮多解 (左起)
回到方程組的矩陣形式,感受Gilbert Strang說的“橫看成嶺側成峰”——豎看幾個方程,橫看一個方程裡的多個係數。
然後,我們要理解什麼是線性組合,還會看到關於超定和欠定方程組的幾個例子。
5 範數
向量的範數是個函式,將一個向量輸入,我們就得到一個正值——可以把它看做向量的長度。
範數可以用來衡量模型預測值與實際值之間的距離。
6 特殊的矩陣和向量
△ 對角矩陣 (左) 與對稱矩陣 (右)
一些矩陣和向量,會有和普通矩陣/向量不一樣的有趣特性。雖然,這個小節不長,但對理解後面的內容會有幫助。
7 特徵分解
這裡,有線性代數的一些主要概念。我們可以對特徵向量和特徵值,有一個初步的瞭解。
大家將會看到,矩陣並不像外表那樣單調,它們可以作為線性變換的工具。用一個矩陣對它的特徵向量做些加工,便會得到方向相同的新向量。
△ 特徵向量 (藍箭頭) ,線性變換後的向量 (黃箭頭)
然後,矩陣還可以用來表示二次函式。利用矩陣的特徵分解,可以找到對應函式的最大值和最小值。
如果堅持讀到這個小節,就可以解鎖用Python將線性變換視覺化的操作。
8 奇異值分解 (SVD)
這是除了特徵值分解之外的,另一種矩陣分解方式。SVD是將一個矩陣,分解到三個新矩陣裡面。
△ 一分為三的矩陣A
依照“將矩陣看做空間的線性變換”這一理念,我們可以將這些新的矩陣,當做空間的子變換——變換並非一步達成,而是經過了三個分解動作。
走到這裡,就可以撿起“將SVD用於影像處理”的新裝備。
9 摩爾-彭若斯偽逆
在研究矩陣的路上,我們會遇到不同的風景。
並不是所有矩陣都有自己的逆矩陣。不幸之處不在於孤獨,而在於逆矩陣可以用來解方程組。方程組無解的時候,也就沒有逆矩陣。
△ 無解的超定方程組
不過,如果將誤差最小化,我們也可以找到一個很像解的東西。偽逆便是用來找假解的。
10 跡
△ 矩陣的跡
上圖就是矩陣的跡。後面講到主成分分析 (PCA) 的時候,會需要這個看上去不怎麼厲害的東西。
11 行列式
△ 有正有負的行列式
行列式是一個奇妙的數值,可以告訴我們關於矩陣的很多祕密。
12 主成分分析 (PCA) 例題
△ 要找到編碼與解碼的方法
恭喜大家來到線性代數的最後一課。
用上前十一課傳授的全部技能,便能掌握這一資料分析重要工具的使用方法。
雖然,我還沒有非常瞭解,用Python和Numpy學線代,會是怎樣一種愉快的體驗。不過,這份筆記看去有幾分軟妹,圖片配色和我學線代那年所見的硬漢畫風截然不同,相信初學者的各位也會很有食慾的。
據說,“花書”和春天更配哦。
全套筆記真容在此:
https://hadrienj.github.io/posts/
花書線代章節在此:
http://www.deeplearningbook.org/contents/linear_algebra.html
— 完 —
活動推薦
△ 點選圖片或閱讀原文
即可獲取更多詳情
聯想高校AI精英挑戰賽,覆蓋全國28個省份、8大賽區和260所高校,經過在中科大、華中科技大學、清華大學、上海交通大學等8所AI領域具有頂尖優勢的理工科高校的半決賽路演,產生最終入圍總決賽的十支參賽隊伍,並將於3月29日在北京中國科學院計算技術研究所迎來全國總決賽。
加入社群
量子位AI社群15群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot6入群;
此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。
進群請加小助手微訊號qbitbot6,並務必備註相應群的關鍵詞~通過稽核後我們將邀請進群。(專業群稽核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
相關文章
- 《線性代數的本質》筆記10筆記
- 《線性代數的本質》筆記(09)筆記
- 《線性代數的本質》筆記(01-03)筆記
- 《代數的歷史》讀書筆記筆記
- [心得]機器學習基礎之線性代數筆記機器學習筆記
- 線性代數的本質課程筆記1-6講筆記
- 《線性代數的本質》筆記(04-附註1-05)筆記
- 線性代數中的線性方程組方法
- 線性代數
- Mathematics for Machine Learning--學習筆記(線性代數篇)Mac筆記
- 10個例子帶你瞭解機器學習中的線性代數機器學習
- 線性代數學習筆記(二)+貪心學習筆記(一)(2024.10.5)筆記
- 線性代數學習
- 線性代數基礎
- 線性代數--矩陣矩陣
- 線性代數學習筆記五:相似矩陣及二次型筆記矩陣
- 【scipy 基礎】--線性代數
- 數學基礎之線性代數
- MATLAB版線性代數-線性方程組1Matlab
- ISLR讀書筆記七:線性判別分析(LDA)筆記LDA
- 程式設計與線性代數程式設計
- 線性代數--二次型
- NumPy之:多維陣列中的線性代數陣列
- 如何入門線性代數?這裡有一份Python線性代數講義Python
- GAMES101系列筆記一 圖形學概述與線性代數入門GAM筆記
- 高等代數:3 線性方程組的解集的結構
- 【基底 / 線性組合 / 線性無關(相關)】- 圖解線性代數 02圖解
- 線性代數常用基本知識整理
- [譯]深度學習中所需的線性代數知識深度學習
- Python數模筆記-Sklearn(4)線性迴歸Python筆記
- 文科生都能看懂的【機器學習中的】線性代數機器學習
- 深度學習聖經“花書”各章摘要與筆記整理深度學習筆記
- 讀書筆記 – 你不知道的 JavaScript(上)筆記JavaScript
- 《你不知道的JavaScript》 (下) 讀書筆記JavaScript筆記
- 《你不知道的JavaScript》 (上) 讀書筆記JavaScript筆記
- 《你不知道的JavaScript》 (中) 讀書筆記JavaScript筆記
- 《你不知道的JavaScript》讀書筆記(一)JavaScript筆記
- 讀書筆記 - 你不知道的 JavaScript(上)筆記JavaScript