斯坦福大学机器学习第二课 “单变量线性回归”
? ? 斯坦福大學機器學習第二課“單變量線性回歸(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???PDF1) Model representation(模型表示)
回到第一課中的房屋價格預測問題, 首先它是一個有監督學習的問題(對于每個樣本的輸入,都有正確的輸出或者答案),同時它也是一個回歸問題(預測一個實值輸出)。
訓練集表示如下:
其中:
m?=?訓練樣本的數目
x =?“輸入”變量,也稱之為特征
y =?“輸出”變量,也稱之為“目標”變量
?
對于房價預測問題,學習過程可用下圖表示:
?
其中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”?梯度下降: 梯度下降的每一步都使用了所有的訓練樣本。
總結
以上是生活随笔為你收集整理的斯坦福大学机器学习第二课 “单变量线性回归”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 斯坦福大学机器学习第一课“引言(Intr
- 下一篇: 斯坦福大学机器学习第三课“多变量线性回归