源自史丹佛CS229,機器學習備忘錄在集結

機器之心發表於2018-08-22

在 Github 上,afshinea 貢獻了一個備忘錄對經典的史丹佛 CS229 課程進行了總結,內容包括監督學習、無監督學習,以及進修所用的機率與統計、線性代數與微積分等知識。機器之心簡要介紹了該專案的主要內容,讀者可在原專案中下載所有的備忘錄。

本專案原作者 Afshine AmidiShervine Amidi,機器之心翻譯。

專案地址:https://github.com/afshinea/stanford-cs-229-machine-learning

據專案介紹,該 repository 旨在總結史丹佛 CS 229 機器學習課程的所有重要概念,包括:

  • 學習該課程所需的重要預備知識,例如機率與統計、代數與微積分等進修課程。

  • 對每個機器學習領域知識的備忘錄,以及在訓練模型時需要的提示與技巧。

  • 上面所有的元素最終彙編進來一個備忘錄裡。

VIP Cheatsheets

在這一部分中,該專案根據 CS 229 提供了監督學習、無監督學習深度學習機器學習技巧等重點內容。其中監督學習主要介紹了迴歸、分類和生成,無監督主要介紹了聚類與降維演算法,深度學習概述了三種神經網路

監督學習

如下所示監督學習介紹了非常多基礎概念,包括損失函式梯度下降最大似然估計等。其中損失函式展示了常用的最小二乘損失函式、摺頁損失函式交叉熵損失函式等,每一種損失函式的影像、定義和應用的演算法都展示在其中。

源自史丹佛CS229,機器學習備忘錄在集結

監督學習部分一共有四頁備忘錄,除了一般的線性與 Logistic 迴歸,還重點介紹了 SVM、樸素貝葉斯和 K 近鄰等其它一些非參模型。這些基本上都是直接給出的定義,因此不會有過多的冗餘資訊,這對於機器學習開發者與研究者作為參考還是非常有幫助的。

除了標準的定義外,很多重點概念還會用形象的圖示表達出來,如下展示了監督學習中的支援向量機

源自史丹佛CS229,機器學習備忘錄在集結

上述定義清楚地描述了 SVM 的定義,它希望能根據「支援向量」最大化分類邊界之間的間隔,這樣的分類模型將更穩定。基本上著一幅圖就講述了 SVM 的基本想法,同時也展現了分類原理,根據它再「回憶起」合頁損失函式也就更容易了。

監督學習

監督學習主要記錄了 EM 演算法、聚類演算法和降維演算法等,其中聚類又詳細介紹了 K 均值聚類、層級聚類和其他聚類距離度量方法等,而降維演算法則主要展示了主成分分析法和獨立成分分析法這兩種。

源自史丹佛CS229,機器學習備忘錄在集結

除了標準的定義,這些演算法的原理圖也非常重要,如上所示在 K 均值聚類中,四幅圖展示了該演算法的具體過程。首先隨機初始化均值,然後將離均值近的樣本分配為均值所代表的那一類,隨後根據誤差更新均值的位置,並直到模型收斂主成分分析同樣有非常好的視覺化,如下 PCA 會先歸一化資料特徵,然後根據奇異值分解找出主成分,最後再將所有資料對映到主成分而實現降維

源自史丹佛CS229,機器學習備忘錄在集結

深度學習

很多讀者已經比較瞭解深度學習了,尤其是全連線網路、卷積網路和迴圈網路。這一份備忘錄同樣也展示了這三種網路重要的概念與定義,且同時描述了強化學習的一些基本概念,如馬爾可夫決策過程貝爾曼方程價值迭代演算法和 Q 學習等。

源自史丹佛CS229,機器學習備忘錄在集結

我們認為在圖 CNN 中,非常重要的是計算輸出特徵圖大小的公式,即 N = (W-F+2P)/S + 1。其中 W 表示輸入特徵圖的長寬,F 表示卷積核大小,P 表示在每一端填補零值的數量,S 表示卷積步幅,因此計算出來的 N 就表示輸出特徵圖的尺寸。這對於設計卷積網路非常重要,我們經常需要該公式控制網路中間的特徵圖大小。

機器學習技巧

這一份備忘錄從分類、迴歸、模型選擇和模型診斷出發展示了 ML 中的一些技巧。其中分類與迴歸主要從度量方法的角度探討,也就是說到底什麼樣的方法才能確定模型的好壞,以及它們的特定屬性。同樣模型選擇與診斷也都希望判斷模型的好壞,只不過一個是從交叉驗證正則化的角度考慮,另一個是從偏差與方差的角度考慮。

源自史丹佛CS229,機器學習備忘錄在集結

VIP Refreshers

這一部分作者提供了進修課程的備忘錄,包括對機率與統計、代數與微積分的介紹。

機率與統計

從排列與組合開始,這一部分介紹了機率與統計的概念定義。包括條件機率、貝葉斯法則、機率密度函式、機率分佈函式與隨機變數的均值和方差等。後面的統計也展示了非常多的定義與規則,包括分佈的 K 階矩、常見的離散型與連續型隨機變數分佈,以及樣本均值、方差、協方差等資料特徵。

源自史丹佛CS229,機器學習備忘錄在集結

源自史丹佛CS229,機器學習備忘錄在集結

源自史丹佛CS229,機器學習備忘錄在集結

最後,該備忘錄同樣記錄了引數估計,這對於機器學習來說是最為關鍵的概念之一,因為本質上機器學習就是需要透過大量樣本對模型的引數進行估計,或者稱為「學習」。此外,之所以高斯分佈如此重要,最後面的中心極限定理可以給我們答案。也就是說,如果取樣 n 個服從獨立同分布的樣本,那麼當 n 趨近於無窮大的時候,這個未知的分佈一定是接近於高斯分佈的。

線性代數與微積分

矩陣運算與微分在實際搭建模型時非常重要,因為不論是傳統的機器學習還是深度學習,我們實際都是使用矩陣甚至是張量進行運算,瞭解它們的法則才能理解模型的實際過程。在這一份備忘錄中,作者描述了向量與矩陣的定義、各種常見矩陣運算的定義,以及大量的矩陣概念,例如矩陣的跡、矩陣的逆、矩陣的秩、矩陣的正定和特徵值與特徵向量等。

源自史丹佛CS229,機器學習備忘錄在集結

源自史丹佛CS229,機器學習備忘錄在集結

矩陣微分的基本概念也展示在上面,因為我們在根據反向傳播更新引數時,基本使用的都是矩陣微分。這也就需要我們瞭解 Jacobian 矩陣和 Hessian 矩陣。

相關文章