0. 引言
吳恩達(Andrew Ng),毫無疑問,是全球人工智能(AI)領域的大 IP!然而,吳恩達從最早的 CS229,到後來的 deeplearning.ai 深度學習專項課程,還有其它 AI 資源,大神釋出的 AI 知名課程和資料非常多。
說到吳恩達優秀的 AI 課程,首當其沖的就是幾年前在 Coursera 上釋出的《Machine Learning》課程!
這門《Machine Learning》評分高達 4.9 分,共有超過 300w 人注冊學習。其火爆程度可想而知!
課程首頁:
https://www.coursera.org/learn/machine-learning/課程特色:
這門課基本涵蓋了機器學習的主要知識點:線性回歸、邏輯回歸、支援向量機、神經網絡、K-Means、異常檢測等。課程中沒有複雜的公式推導和理論分析,讓機器學習初學者能夠快速對整個機器學習知識點有比較整體的認識,便于快速入門。
完整中文筆記(pdf、word、markdown版本)、中英文字幕離線視訊、複現的python作業:
https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes線上筆記:
http://www.ai-start.com/ml2014/課後作業(Python 版本):
https://github.com/nsoojin/coursera-ml-py課後作業(Jupyter 版本):
https://github.com/kaleko/CourseraML鑒于這門課程非常适合入門,在接下來的一段時間中,我們将推出吳恩達《Machine Learning》的系列筆記,友善大家配套學習!
今天帶來第一周課程的筆記:監督式學習和非監督式學習。
主要内容:
- 監督學習和無監督學習
- 單變量線性回歸問題
- 代價函數
- 梯度下降算法
1-1. 監督學習Supervised Learning
利用監督學習預測波士頓房價(回歸問題)
- 大多數情況下,可能會拟合直線
- 有時候用二次曲線去拟合效果可能會更好的
什麼是回歸問題?
在監督學習中,我們給學習算法一個資料集,比如一系列房子的資料,給定資料集中每個樣本的正确價格,即它們實際的售價然後運用學習算法,算出更多的答案,我們需要估算一個連續值的結果,這屬于回歸問題
利用監督學習來推測乳腺癌良性與否(分類問題)
- 橫軸表示惡性良性腫瘤的大小
- 縱軸表示1表示惡性,0表示良性
什麼是分類問題?
機器學習的問題就在于,估算出惡性良性腫瘤是惡性的或是良性的機率,屬于分類問題。
分類問題指的是,我們試着推測出離散的輸出值:0或1良性或惡性,而事實上在分類問題中,輸出可能不止兩個值。
比如說可能有三種乳腺癌,是以希望預測離散輸出0、1、2、3。0 代表良性,1 表示第1類乳腺癌,2表示第2類癌症,3表示第3類,也是分類問題。
應用
- 垃圾郵件問題
- 疾病分類問題
1-2 無監督學習Unsupervised Learning
- 監督學習中,資料是有标簽的
- 無監督學習中,資料是沒有标簽,主要提到了聚類算法
應用
- 基因學的了解應用
- 社交網絡分析
- 組織大型計算機叢集
- 細分市場
- 新聞事件分類
2. 單變量線性回歸Linear Regression with One Variable
房價問題
橫軸是不同的房屋面積,縱軸是房屋的出售價格。
監督學習:對于每個資料來說,給出了正确的答案。在監督學習中,我們有一個給定的資料,叫做訓練集training set
回歸問題:根據之前的資料,預測出一個準确的輸出值。
分類問題:預測離散的輸出值,例如尋找癌症惡性良性腫瘤,并想要确定惡性良性腫瘤是良性的還是惡性的,屬于0/1離散輸出的問題
監督學習工作模式
學習過程解釋:
- 将訓練集中的房屋價格喂給學習算法
- 學習算法工作,輸出一個函數,用h表示
- h表示hypothesis,代表的是學習算法的解決方案或者函數。
- h根據輸入的x值得到y值,是以h是x到的y的一個函數映射
- 可能的表達式:hθ(x)=θ0+θ1x,隻有一個特征或者出入變量,稱為單變量線性回歸問題
3. 代價函數cost function
代價函數也稱之為平方誤差函數,平方誤差代價函數。
線上性回歸中我們有一個像這樣的訓練集,m代表了訓練樣本的數量,比如 m=47。而我們的假設函數,也就是用來進行預測的函數,是這樣的線性函數形式:hθ(x)=θ0+θ1x。
函數解釋
- m:訓練樣本的個數
- hθ(x)=θ0+θ1x:假設函數
- θ0和θ1:表示兩個模型參數,即直線的斜率和y軸上的截距
模組化誤差
模組化目标
- 圖中紅色的點表示真實值yi,真實的資料集
- h(x)表示的是通過模型得到的預測值
- 目标:選擇出可以使得模組化誤差的平方和能夠最小的模型參數
代價函數直覺解釋1
本例中是通過假設θ0=0來進行,假設函數h(x)是關于x的函數,代價函數J(θ0,θ1)是關于θ的函數,使得代價函數最小化
代價函數直覺解釋2
通過等高線圖來進行解釋。通過繪制出等高線圖可以看出來,必定存在某個點,使得代價函數最小,即:可以看出在三維空間中存在一個使得J(θ0,θ1)最小的點。
4. 梯度下降Gradient Descent
思想
梯度下降是一個用來求函數最小值的算法。
- 背後的思想:開始随機選取一個參數的組合(θ0,θ1,…,θn)計算代價函數,然後我們尋找下一個能讓代價函數值下降最多的參數組合。
- 持續這麼做,直到一個局部最小值(local minimum),因為并沒有嘗試完所有的參數組合,是以不能确定得到的局部最小值是否是全局最小值(global minimum)
批量梯度下降batch gradient descent
算法公式為
特點:需要同步更新兩個參數
梯度下降直覺解釋
算法公式:
梯度下降的線性回歸GradientDescent-For-LinearRegression
梯度下降是很常用的算法,它不僅被用線上性回歸上和線性回歸模型、平方誤差代價函數。将梯度下降和代價函數相結合。
梯度下降VS線性回歸算法
批量梯度下降算法
對之前的線性回歸問題運用梯度下降法,關鍵在于求出代價函數的導數,即:
這種梯度下降的算法稱之為批量梯度下降算法,主要特點:
- 在梯度下降的每一步中,我們都用到了所有的訓練樣本
- 在梯度下降中,在計算微分求導項時,我們需要進行求和運算,需要對所有m個訓練樣本求和
至此,第一周的課程筆記完畢!