帶你少走彎路:五篇文章學完吳恩達機器學習

本文是吳恩達老師的機器學習課程[1]

的筆記和代碼復現部分,這門課是經典,沒有之一。但是有個問題,就是內容較多,有些內容確實有點過時

如何在最短時間學完這門課程?作為課程的主要翻譯者筆記作者,我推薦把精華部分進行學習,這樣進度會快一點。

時間不多的朋友可以按照以下篇文章的筆記和作業代碼(原課程作業是 OCTAVE的,這裡是復現 Python 代碼)進行學習,快速入門機器學習,避免走彎路。可以收藏下這篇文章,以後用碎片時間在手機上學習機器學習。

第一部分:迴歸

第二部分:邏輯迴歸

第三部分:支持向量機

第四部分:無監督學習

第五部分:異常檢測和推薦系統

帶你少走彎路:五篇文章學完吳恩達機器學習

2014年12月開始到mooc網上學堂學習機器學習課程,該課程內容非常不錯,我整理和翻譯了大部分視頻。(該視頻字幕已經無償送給網易雲課堂:吳恩達機器學習課程,由他們進行潤色,致謝裡有我的名字。這個課程有好多個翻譯版本,我的可能是最差的一個版本,但可能下載最多。)

字幕和視頻有需要的同學到我的github[3]下載。

在學習機器學習課程時,我把筆記放到了github[3]上提供下載,被下載了幾十萬次,獲得13400+star。原課程的作業代碼是octave的,現在幾乎用不到了,我用python3.6復現了課程代碼,並且公開了筆記的word和markdown版本。有個問題就是,內容比較多,到底哪幾部分需要認真讀呢?作為筆記作者,我覺得下面這個目錄標紅部分應該要認真讀下,這部分不過時,我已經整合到五篇文章裡了(

第一部分:迴歸

,第二部分:邏輯迴歸

,第三部分:支持向量機

,第四部分:無監督學習

,第五部分:異常檢測和推薦系統

),這五篇文章,還有算法的python復現,可以從代碼裡深刻理解算法的精華。希望大家少走彎路,用手機收藏下這篇文章,用碎片時間學完“吳恩達機器學習課”。

原課程目錄

第一週

一、 引言(Introduction)

1.1 歡迎

1.2 機器學習是什麼?

1.3 監督學習

1.4 無監督學習

二、單變量線性迴歸(Linear Regression with One Variable)

2.1 模型表示

2.2 代價函數

2.3 代價函數的直觀理解I

2.4 代價函數的直觀理解II

2.5 梯度下降

2.6 梯度下降的直觀理解

2.7 梯度下降的線性迴歸

2.8 接下來的內容

三、線性代數回顧(Linear Algebra Review)

3.1 矩陣和向量

3.2 加法和標量乘法

3.3 矩陣向量乘法

3.4 矩陣乘法

3.5 矩陣乘法的性質

3.6 逆、轉置

  • 第二週

四、多變量線性迴歸(Linear Regression with Multiple Variables)

4.1 多維特徵

4.2 多變量梯度下降

4.3 梯度下降法實踐1-特徵縮放

4.4 梯度下降法實踐2-學習率

4.5 特徵和多項式迴歸

4.6 正規方程

4.7 正規方程及不可逆性(選修)

五、Octave教程(Octave Tutorial)

5.1 基本操作

5.2 移動數據

5.3 計算數據

5.4 繪圖數據

5.5 控制語句:for,while,if語句

5.6 向量化

5.7 工作和提交的編程練習

  • 第三週

六、邏輯迴歸(Logistic Regression)

6.1 分類問題

6.2 假說表示

6.3 判定邊界

6.4 代價函數

6.5 簡化的成本函數和梯度下降

6.6 高級優化

6.7 多類別分類:一對多

七、正則化(Regularization)

7.1 過擬合的問題

7.2 代價函數

7.3 正則化線性迴歸

7.4 正則化的邏輯迴歸模型

  • 第四周

第八、神經網絡:表述(Neural Networks: Representation)

8.1 非線性假設

8.2 神經元和大腦

8.3 模型表示1

8.4 模型表示2

8.5 樣本和直觀理解1

8.6 樣本和直觀理解II

8.7 多類分類

  • 第五週

九、神經網絡的學習(Neural Networks: Learning)

9.1 代價函數

9.2 反向傳播算法

9.3 反向傳播算法的直觀理解

9.4 實現注意:展開參數

9.5 梯度檢驗

9.6 隨機初始化

9.7 綜合起來

9.8 自主駕駛

  • 第六週

十、應用機器學習的建議(Advice for Applying Machine Learning)

10.1 決定下一步做什麼

10.2 評估一個假設

10.3 模型選擇和交叉驗證集

10.4 診斷偏差和方差

10.5 正則化和偏差/方差

10.6 學習曲線

10.7 決定下一步做什麼

十一、機器學習系統的設計(Machine Learning System Design)

11.1 首先要做什麼

11.2 誤差分析

11.3 類偏斜的誤差度量

11.4 查準率和查全率之間的權衡

11.5 機器學習的數據

第7周

十二、支持向量機(Support Vector Machines)

12.1 優化目標

12.2 大邊界的直觀理解

12.3 數學背後的大邊界分類(選修)

12.4 核函數1

12.5 核函數2

12.6 使用支持向量機

  • 第八週

十三、聚類(Clustering)

13.1 無監督學習:簡介

13.2 K-均值算法

13.3 優化目標

13.4 隨機初始化

13.5 選擇聚類數

十四、降維(Dimensionality Reduction)

14.1 動機一:數據壓縮

14.2 動機二:數據可視化

14.3 主成分分析問題

14.4 主成分分析算法

14.5 選擇主成分的數量

14.6 重建的壓縮表示

14.7 主成分分析法的應用建議

  • 第九周

十五、異常檢測(Anomaly Detection)

15.1 問題的動機

15.2 高斯分佈

15.3 算法

15.4 開發和評價一個異常檢測系統

15.5 異常檢測與監督學習對比

15.6 選擇特徵

15.7 多元高斯分佈(選修)

15.8 使用多元高斯分佈進行異常檢測(選修)

十六、推薦系統(Recommender Systems)

16.1 問題形式化

16.2 基於內容的推薦系統

16.3 協同過濾

16.4 協同過濾算法

16.5 向量化:低秩矩陣分解

16.6 推行工作上的細節:均值歸一化

  • 第十週

十七、大規模機器學習(Large Scale Machine Learning)

17.1 大型數據集的學習

17.2 隨機梯度下降法

17.3 小批量梯度下降

17.4 隨機梯度下降收斂

17.5 在線學習

17.6 映射化簡和數據並行

十八、應用實例:圖片文字識別(Application Example: Photo OCR)

18.1 問題描述和流程圖

18.2 滑動窗口

18.3 獲取大量數據和人工數據

18.4 上限分析:哪部分管道的接下去做

十九、總結(Conclusion)

19.1 總結和致謝

[1] 機器學習課程: https://www.coursera.org/course/ml

[2] 黃海廣: https://github.com/fengdu78

[3] github: https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

[4] 作業代碼: https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/master/code

[5] markdown 文件: https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/master/markdown

[6] pdf 文件: https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/master/機器學習個人筆記完整版v5.4-A4打印版.pdf


分享到:


相關文章: