Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”
Coursera公開課筆記: 斯坦福大學機器學習第二課“單變量線性回歸(Linear regression with one variable)”
2012年05月6號 52nlp斯坦福大學機器學習第二課”單變量線性回歸“學習筆記,本次課程主要包括7部分:
1) Model representation(模型表示)
2) Cost function(代價函數,成本函數)
3) Cost function intuition I(直觀解釋1)
4) Cost function intuition II(直觀解釋2)
5) Gradient descent(梯度下降)
6) Gradient descent intuition(梯度下降直觀解釋)
7) Gradient descent for linear regression(應用于線性回歸的的梯度下降算法)
以下是第二課“單變量線性回歸”的課件資料下載鏈接,視頻可以在Coursera機器學習課程上觀看或下載: PPT?? PDF 另外課程答題時間推遲一周,具體可參考:? Coursera機器學習課程作業截止時間推遲一周 如轉載52opencourse上的任何原創文章,請務必注明出處,原文見: Coursera公開課筆記: 斯坦福大學機器學習第二課“單變量線性回歸(Linear regression with one variable)”1) Model representation(模型表示)
回到第一課中的房屋價格預測問題, 首先它是一個有監督學習的問題(對于每個樣本的輸入,都有正確的輸出或者答案),同時它也是一個回歸問題(預測一個實值輸出)。
訓練集表示如下:
其中:
m?=?訓練樣本的數目
x’s?=?“輸入”變量,也稱之為特征
y’s?=?“輸出”變量,也稱之為“目標”變量
?
對于房價預測問題,學習過程可用下圖表示:
?
其中x代表房屋的大小,y代表預測的價格,h(hypothesis)將輸入變量 x 映射到輸出變量 y,如何表示h?
事實上Hypothesis可以表示成如下形式:
hθ(x)=θ0+θ1x
簡寫為 h(x),也就是帶一個變量的線性回歸或者單變量線性回歸問題。
?
2) Cost function(代價函數,成本函數)
對于Hypothesis:? hθ(x)=θ0+θ1x
θi 為參數
如何求θi?
構想: 對于訓練集(x, y),選取參數θ0, θ1使得hθ(x)盡可能的接近y。
如何做呢?一種做法就是求訓練集的平方誤差函數(squared error function),Cost Function可表示為:
J(θ0,θ1)=12m∑i=1m(hθ(x(i))–y(i))2
并且選取合適的參數使其最小化,數學表示如下:
minimizeθ0,θ1J(θ0,θ1)
3) Cost function intuition I(直觀解釋1)
直觀來看,線性回歸主要包括如下四大部分,分別是Hypothesis, Parameters, Cost Function, Goal:
這里作者給出了一個簡化版的Cost function解釋,也就是令θ0為0:
然后令θ1分別取1、0.5、-0.5等值,同步對比hθ(x)和J(θ0,θ1)在二維坐標系中的變化情況,具體可參考原PPT中的對比圖,很直觀。
?
4) Cost function intuition II(直觀解釋2)
回顧線性回歸的四個部分,這一次不在對Cost?Function做簡化處理,這個時候J(θ0,θ1)的圖形是一個三維圖或者一個等高線圖,具體可參考原課件。
可以發現,當hθ(x)的直線越來越接近樣本點時,J(θ0,θ1)在等高線的圖中的點越來越接近最小值的位置。
5) Gradient descent(梯度下降)
應用的場景之一-最小值問題:
對于一些函數,例如J(θ0,θ1)
目標:? minθ0,θ1J(θ0,θ1)
方法的框架:
1、給θ0, θ1一個初始值,例如都等于0
2、每次改變θ0, θ1的時候都保持J(θ0,θ1)遞減,直到達到一個我們滿意的最小值;
對于任一J(θ0,θ1) , 初始位置不同,最終達到的極小值點也不同,例如以下兩個例子:
?
?
梯度下降算法:
重復下面的公式直到收斂:
?
舉例:
參數正確的更新過程如下(同步更新):
?
錯誤的更新過程如下:
?
6) Gradient descent intuition(梯度下降直觀解釋)
舉例,對于一個簡化的J(θ1)來說,無論拋物線的左邊還是右邊,在梯度下降算法下,θ1)都是保持正確的方向(遞增或遞減)
對于learning?rate(又稱為步長)來說:
如果α過小,梯度下降可能很慢;如果過大,梯度下降有可能“邁過”(overshoot)最小點,并且有可能收斂失敗,并且產生“分歧”(diverge)
梯度下降可以使函數收斂到一個局部最小值,特別對于learning?rate α是固定值的時候:
當函數接近局部最小值的時候,梯度下降法將自動的采取“小步子”,?所以沒有必要隨著時間的推移減小learning?rate.
關于梯度下降算法,可以參考維基百科的介紹: http://zh.wikipedia.org/wiki/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E6%B3%95
?
7) Gradient descent for linear regression(應用于線性回歸的的梯度下降算法)
梯度下降算法:
線性回歸模型:
J(θ0,θ1)對于θ0), θ1)求導,得:
在梯度下降算法中進行替換,就得到單變量線性回歸梯度下降算法:
詳細的圖形舉例請參考官方PPT,主要是在等高線圖舉例梯度下降的收斂過程,逐步逼近最小值點,其中一幅圖說明:線性回歸函數是凸函數(convex?function),具有碗狀(bowl?shape)。
總結: 這里的梯度下降算法也稱為”Batch”?梯度下降: 梯度下降的每一步都使用了所有的訓練樣本。
本文鏈接地址:Coursera公開課筆記: 斯坦福大學機器學習第二課“單變量線性回歸(Linear regression with one variable)”
相關文章:
出處:http://www.52nlp.cn/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AC%AC%E4%BA%8C%E8%AF%BE%E5%8D%95%E5%8F%98%E9%87%8F
總結
以上是生活随笔為你收集整理的Coursera公开课笔记: 斯坦福大学机器学习第二课“单变量线性回归(Linear regression with one variable)”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Coursera公开课笔记: 斯坦福大学
- 下一篇: Coursera公开课笔记: 斯坦福大学