吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习
作者 | Peter
編輯 |?AI有道
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
算法公式為
特點:需要同步更新兩個參數
梯度下降直觀解釋
算法公式:
具體描述:對θ賦值,使得J(θ)按照梯度下降最快的方向進行,一直迭代下去,最終得到局部最小值。
學習率:α是學習率它決定了我們沿著能讓代價函數下降程度最大的方向向下邁出的步子有多大。
學習率太小:收斂速度慢需要很長的時間才會到達全局最低點
學習率太大:可能越過最低點,甚至可能無法收斂
梯度下降的線性回歸GradientDescent-For-LinearRegression
梯度下降是很常用的算法,它不僅被用在線性回歸上和線性回歸模型、平方誤差代價函數。將梯度下降和代價函數相結合。
梯度下降VS線性回歸算法
批量梯度下降算法
對之前的線性回歸問題運用梯度下降法,關鍵在于求出代價函數的導數,即:
這種梯度下降的算法稱之為批量梯度下降算法,主要特點:
在梯度下降的每一步中,我們都用到了所有的訓練樣本
在梯度下降中,在計算微分求導項時,我們需要進行求和運算,需要對所有m個訓練樣本求和
至此,第一周的課程筆記完畢!
推薦閱讀
(點擊標題可跳轉閱讀)
干貨 | 公眾號歷史文章精選
我的深度學習入門路線
我的機器學習入門路線圖
重磅!
AI有道年度技術文章電子版PDF來啦!
掃描下方二維碼,添加?AI有道小助手微信,可申請入群,并獲得2020完整技術文章合集PDF(一定要備注:入群?+ 地點 + 學校/公司。例如:入群+上海+復旦。?
長按掃碼,申請入群
(添加人數較多,請耐心等待)
感謝你的分享,點贊,在看三連↓
總結
以上是生活随笔為你收集整理的吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员思维是什么?程序员思维从哪里来?程
- 下一篇: C\C++语言,从编程语言到库、API、