在 Github 上,,afshinea 貢獻(xiàn)了一個備忘錄對經(jīng)典的斯坦福 CS229 課程進(jìn)行了總結(jié),,內(nèi)容包括監(jiān)督學(xué)習(xí),、無監(jiān)督學(xué)習(xí),,以及進(jìn)修所用的概率與統(tǒng)計(jì),、線性代數(shù)與微積分等知識,。機(jī)器之心簡要介紹了該項(xiàng)目的主要內(nèi)容,,讀者可點(diǎn)擊「閱讀原文」下載所有的備忘錄,。
項(xiàng)目地址:https://github.com/afshinea/stanford-cs-229-machine-learning
據(jù)項(xiàng)目介紹,該 repository 旨在總結(jié)斯坦福 CS 229 機(jī)器學(xué)習(xí)課程的所有重要概念,,包括:
學(xué)習(xí)該課程所需的重要預(yù)備知識,,例如概率與統(tǒng)計(jì)、代數(shù)與微積分等進(jìn)修課程,。
對每個機(jī)器學(xué)習(xí)領(lǐng)域知識的備忘錄,,以及在訓(xùn)練模型時(shí)需要的提示與技巧。
上面所有的元素最終匯編進(jìn)來一個備忘錄里,。
VIP Cheatsheets
在這一部分中,,該項(xiàng)目根據(jù) CS 229 提供了監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí),、深度學(xué)習(xí),、機(jī)器學(xué)習(xí)技巧等重點(diǎn)內(nèi)容。其中監(jiān)督學(xué)習(xí)主要介紹了回歸,、分類和生成,,無監(jiān)督主要介紹了聚類與降維算法,深度學(xué)習(xí)概述了三種神經(jīng)網(wǎng)絡(luò),。
監(jiān)督學(xué)習(xí)
如下所示監(jiān)督學(xué)習(xí)介紹了非常多基礎(chǔ)概念,,包括損失函數(shù),、梯度下降和最大似然估計(jì)等。其中損失函數(shù)展示了常用的最小二乘損失函數(shù),、折頁損失函數(shù)和交叉熵?fù)p失函數(shù)等,,每一種損失函數(shù)的圖像、定義和應(yīng)用的算法都展示在其中,。
監(jiān)督學(xué)習(xí)部分一共有四頁備忘錄,,除了一般的線性與 Logistic 回歸,還重點(diǎn)介紹了 SVM,、樸素貝葉斯和 K 近鄰等其它一些非參模型,。這些基本上都是直接給出的定義,因此不會有過多的冗余信息,,這對于機(jī)器學(xué)習(xí)開發(fā)者與研究者作為參考還是非常有幫助的,。
除了標(biāo)準(zhǔn)的定義外,很多重點(diǎn)概念還會用形象的圖示表達(dá)出來,,如下展示了監(jiān)督學(xué)習(xí)中的支持向量機(jī):
上述定義清楚地描述了 SVM 的定義,,它希望能根據(jù)「支持向量」最大化分類邊界之間的間隔,這樣的分類模型將更穩(wěn)定,?;旧现环鶊D就講述了 SVM 的基本想法,同時(shí)也展現(xiàn)了分類原理,,根據(jù)它再「回憶起」合頁損失函數(shù)也就更容易了,。
無監(jiān)督學(xué)習(xí)
無監(jiān)督學(xué)習(xí)主要記錄了 EM 算法、聚類算法和降維算法等,,其中聚類又詳細(xì)介紹了 K 均值聚類,、層級聚類和其他聚類距離度量方法等,而降維算法則主要展示了主成分分析法和獨(dú)立成分分析法這兩種,。
除了標(biāo)準(zhǔn)的定義,這些算法的原理圖也非常重要,,如上所示在 K 均值聚類中,,四幅圖展示了該算法的具體過程。首先隨機(jī)初始化均值,,然后將離均值近的樣本分配為均值所代表的那一類,,隨后根據(jù)誤差更新均值的位置,并直到模型收斂,。主成分分析同樣有非常好的可視化,,如下 PCA 會先歸一化數(shù)據(jù)特征,然后根據(jù)奇異值分解找出主成分,,最后再將所有數(shù)據(jù)映射到主成分而實(shí)現(xiàn)降維,。
深度學(xué)習(xí)
很多讀者已經(jīng)比較了解深度學(xué)習(xí)了,,尤其是全連接網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò),。這一份備忘錄同樣也展示了這三種網(wǎng)絡(luò)重要的概念與定義,,且同時(shí)描述了強(qiáng)化學(xué)習(xí)的一些基本概念,如馬爾可夫決策過程,、貝爾曼方程價(jià)值迭代算法和 Q 學(xué)習(xí)等,。
我們認(rèn)為在圖 CNN 中,非常重要的是計(jì)算輸出特征圖大小的公式,,即 N = (W-F+2P)/S + 1,。其中 W 表示輸入特征圖的長寬,F(xiàn) 表示卷積核大小,,P 表示在每一端填補(bǔ)零值的數(shù)量,,S 表示卷積步幅,因此計(jì)算出來的 N 就表示輸出特征圖的尺寸,。這對于設(shè)計(jì)卷積網(wǎng)絡(luò)非常重要,,我們經(jīng)常需要該公式控制網(wǎng)絡(luò)中間的特征圖大小。
機(jī)器學(xué)習(xí)技巧
這一份備忘錄從分類,、回歸,、模型選擇和模型診斷出發(fā)展示了 ML 中的一些技巧。其中分類與回歸主要從度量方法的角度探討,,也就是說到底什么樣的方法才能確定模型的好壞,,以及它們的特定屬性。同樣模型選擇與診斷也都希望判斷模型的好壞,,只不過一個是從交叉驗(yàn)證與正則化的角度考慮,,另一個是從偏差與方差的角度考慮。
VIP Refreshers
這一部分作者提供了進(jìn)修課程的備忘錄,,包括對概率與統(tǒng)計(jì),、代數(shù)與微積分的介紹。
概率與統(tǒng)計(jì)
從排列與組合開始,,這一部分介紹了概率與統(tǒng)計(jì)的概念定義,。包括條件概率、貝葉斯法則,、概率密度函數(shù),、概率分布函數(shù)與隨機(jī)變量的均值和方差等。后面的統(tǒng)計(jì)也展示了非常多的定義與規(guī)則,,包括分布的 K 階矩,、常見的離散型與連續(xù)型隨機(jī)變量分布,以及樣本均值,、方差,、協(xié)方差等數(shù)據(jù)特征,。
最后,該備忘錄同樣記錄了參數(shù)估計(jì),,這對于機(jī)器學(xué)習(xí)來說是最為關(guān)鍵的概念之一,,因?yàn)楸举|(zhì)上機(jī)器學(xué)習(xí)就是需要通過大量樣本對模型的參數(shù)進(jìn)行估計(jì),或者稱為「學(xué)習(xí)」,。此外,,之所以高斯分布如此重要,最后面的中心極限定理可以給我們答案,。也就是說,,如果采樣 n 個服從獨(dú)立同分布的樣本,那么當(dāng) n 趨近于無窮大的時(shí)候,,這個未知的分布一定是接近于高斯分布的,。
線性代數(shù)與微積分
矩陣運(yùn)算與微分在實(shí)際搭建模型時(shí)非常重要,因?yàn)椴徽撌莻鹘y(tǒng)的機(jī)器學(xué)習(xí)還是深度學(xué)習(xí),,我們實(shí)際都是使用矩陣甚至是張量進(jìn)行運(yùn)算,,了解它們的法則才能理解模型的實(shí)際過程。在這一份備忘錄中,,作者描述了向量與矩陣的定義,、各種常見矩陣運(yùn)算的定義,以及大量的矩陣概念,,例如矩陣的跡,、矩陣的逆、矩陣的秩,、矩陣的正定和特征值與特征向量等,。
矩陣微分的基本概念也展示在上面,因?yàn)槲覀冊诟鶕?jù)反向傳播更新參數(shù)時(shí),,基本使用的都是矩陣微分,。這也就需要我們了解 Jacobian 矩陣和 Hessian 矩陣。