Coursera公開課筆記: 斯坦福大學機器學習第二課“單變量線性迴歸(Linear regression with one variable)”

斯坦福大學機器學習第二課"單變量線性迴歸“學習筆記,本次課程主要包括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上的任何原創文章,請務必註明出處,謝謝。
 
時間: 2012年 5月 2日 分類:機器學習 作者: 52nlp (2,630 基本)
  

2個回答

0投票

1) Model representation(模型表示)

回到第一課中的房屋價格預測問題, 首先它是一個有監督學習的問題(對於每個樣本的輸入,都有正確的輸出或者答案),同時它也是一個迴歸問題(預測一個實值輸出)。

訓練集表示如下:

traing-set-52opencourse.com

其中:

m = 訓練樣本的數目

x's = “輸入”變量,也稱之爲特徵

y's = “輸出”變量,也稱之爲“目標”變量

 

對於房價預測問題,學習過程可用下圖表示:

model-represation-52opencourse.com

 

其中x代表房屋的大小,y代表預測的價格,h(hypothesis)將輸入變量 x 映射到輸出變量 y,如何表示h?

事實上Hypothesis可以表示成如下形式:

hθ(x)=θ0+θ1x

簡寫爲 h(x),也就是帶一個變量的線性迴歸或者單變量線性迴歸問題。

 

2) Cost function(代價函數,成本函數)

對於Hypothesis:  hθ(x)=θ0+θ1x

θi 爲參數

如何求θi?

theta-cost function-52opencourse.com

構想: 對於訓練集(x, y),選取參數θ0, θ1使得hθ(x)儘可能的接近y。  

如何做呢?一種做法就是求訓練集的平方誤差函數(squared error function),Cost Function可表示爲:

J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2

並且選取合適的參數使其最小化,數學表示如下:

minimizeθ0,θ1J(θ0,θ1)

3) Cost function intuition I(直觀解釋1)

直觀來看,線性迴歸主要包括如下四大部分,分別是Hypothesis, Parameters, Cost Function, Goal:

costfunction-I-52opencourse.com

這裏作者給出了一個簡化版的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)在等高線的圖中的點越來越接近最小值的位置。

已回覆 2012年 5月 2日 作者: 52nlp (2,630 基本) 
編輯 2012年 5月 3日 作者:52nlp
  
0投票

5) Gradient descent(梯度下降)

應用的場景之一-最小值問題:

對於一些函數,例如J(θ0,θ1)

目標:  minθ0,θ1J(θ0,θ1)

方法的框架:

1、給θ0, θ1一個初始值,例如都等於0

2、每次改變θ0, θ1的時候都保持J(θ0,θ1)遞減,直到達到一個我們滿意的最小值;

對於任一J(θ0,θ1) , 初始位置不同,最終達到的極小值點也不同,例如以下兩個例子:

梯度下降-1-52opencourse.com

 

梯度下降2-52opencourse.com

 

梯度下降算法:

重複下面的公式直到收斂:

梯度下降算法

 

舉例:

參數正確的更新過程如下(同步更新):

梯度下降-3-52opencourse.com

 

錯誤的更新過程如下:

梯度下降-4-52opencourse.com

 

6) Gradient descent intuition(梯度下降直觀解釋)

舉例,對於一個簡化的J(θ1)來說,無論拋物線的左邊還是右邊,在梯度下降算法下,θ1)都是保持正確的方向(遞增或遞減)

對於learning rate(又稱爲步長)來說:

learning rate-我愛公開課—52opencourse.com

如果α過小,梯度下降可能很慢;如果過大,梯度下降有可能“邁過”(overshoot)最小點,並且有可能收斂失敗,並且產生“分歧”(diverge)

梯度下降可以使函數收斂到一個局部最小值,特別對於learning rate α是固定值的時候:

我愛公開課-52opencourse.com

當函數接近局部最小值的時候,梯度下降法將自動的採取“小步子”, 所以沒有必要隨着時間的推移減小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(應用於線性迴歸的的梯度下降算法)

梯度下降算法:
梯度下降算法-我愛公開課-52opencourse.com

線性迴歸模型:

線性迴歸模型-我愛公開課—52opencouse.com

J(θ0,θ1)對於θ0), θ1)求導,得:

梯度下降求導-我愛公開課-52opencouse.com

在梯度下降算法中進行替換,就得到單變量線性迴歸梯度下降算法:

單變量信息迴歸梯度下降算法-我愛公開課-52opencourse.com

詳細的圖形舉例請參考官方PPT,主要是在等高線圖舉例梯度下降的收斂過程,逐步逼近最小值點,其中一幅圖說明:線性迴歸函數是凸函數(convex function),具有碗狀(bowl shape)。

總結: 這裏的梯度下降算法也稱爲"Batch" 梯度下降: 梯度下降的每一步都使用了所有的訓練樣本。

發佈了6 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章