Coursera公開課筆記: 斯坦福大學機器學習第四課“多變量線性迴歸(Linear Regression with Multiple Variables)”

斯坦福大學機器學習第四課"多變量線性迴歸“學習筆記,本次課程主要包括7部分:

1) Multiple features(多維特徵)

2) Gradient descent for multiple variables(梯度下降在多變量線性迴歸中的應用)

3) Gradient descent in practice I: Feature Scaling(梯度下降實踐1:特徵歸一化)

4) Gradient descent in practice II: Learning rate(梯度下降實踐2:步長的選擇)

5) Features and polynomial regression(特徵及多項式迴歸)

6) Normal equation(正規方程-區別於迭代方法的直接解法)

7) Normal equation and non-invertibility (optional)(正規方程在矩陣不可逆情況下的解決方法)

以下是每一部分的詳細解讀:

1) Multiple features(多維特徵)

第二課中我們談到的是單變量的情況,單個特徵的訓練樣本,單個特徵的表達式,總結起來如下圖所示:

單變量線性迴歸示例-我愛公開課-52opencourse.com

對於多維特徵或多個變量而言:以房價預測爲例,特徵除了“房屋大小外”,還可以增加“房間數、樓層數、房齡”等特徵,如下所示:

多維特徵房價預測問題-我愛公開課-52opencourse.com

定義:

    n = 特徵數目

    x(i)= 第i個訓練樣本的所有輸入特徵,可以認爲是一組特徵向量

    x(i)j = 第i個訓練樣本第j個特徵的值,可以認爲是特徵向量中的第j個值

對於Hypothesis,不再是單個變量線性迴歸時的公式:hθ(x)=θ0+θ1x

而是:

hθ(x)=θ0+θ1x1+θ2x2+...+θnxn

爲了方便,記x0 = 1,則多變量線性迴歸可以記爲: 

hθ(x)=θTx

其中θ和x都是向量。

 

2) Gradient descent for multiple variables(梯度下降在多變量線性迴歸中的應用)

對於Hypothesis: 

hθ(x)=θTx=θ0+θ1x1+θ2x2+...+θnxn

其中參數:θ0, θ1,...,θn可表示爲n+1維的向量  θ

對於Cost Function: 

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

梯度下降算法如下:

多變量線性迴歸梯度下降算法-我愛公開課-52opencourse.com

J(θ)求導,分別對應的單變量和多變量梯度下降算法如下:

當特徵數目爲1,也就是n=1時:

單變量線性迴歸梯度下降-我愛公開課-52opencourse.com

當特徵數目大於1也就是n>1時,梯度下降算法如下:

多變量線性迴歸梯度下降-我愛公開課-52opencourse.com

 

3) Gradient descent in practice I: Feature Scaling(梯度下降實踐1:特徵歸一化)

核心思想:確保特徵在相似的尺度裏。

例如房價問題:

特徵1:房屋的大小(0-2000);

特徵2:房間數目(1-5);

特徵歸一化之一-我愛公開課-52opencourse.com

簡單的歸一化,除以每組特徵的最大值,則:

特徵歸一化之二-我愛公開課-52opencourse.com

 

目標:使每一個特徵值都近似的落在1xi1的範圍內。

舉例:因爲是近似落在這個範圍內,所以只要接近的範圍基本上都可以接受,例如:

0<=x1<=3, -2<=x2<=0.5, -3 to 3, -1/3 to 1/3 都ok;

但是:-100 to 100, -0.0001 to 0.0001不Ok。

Mean Normalization(均值歸一化):

xiμi替換xi使特徵的均值近似爲0(但是不對x0=1處理),均值歸一化的公式是:

xixiμiSi

其中Si可以是特徵的取值範圍(最大值-最小值),也可以是標準差(standard deviation).

對於房價問題中的兩個特徵,均值歸一化的過程如下:

均值歸一化-我愛公開課-52opencourse.com

 

4) Gradient descent in practice II: Learning rate(梯度下降實踐2:步長的選擇)

對於梯度下降算法:

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

需要注意兩點:

-"調試”:如何確保梯度下降算法正確的執行;

-如何選擇正確的步長(learning rate):  α;

第二點很重要,它也是確保梯度下降收斂的關鍵點。要確保梯度下降算法正確運行,需要保證 J(θ)在每一步迭代中都減小,如果某一步減少的值少於某個很小的值 ϵ , 則其收斂。例如:

J_tetha_梯度下降收斂例子-我愛公開課-52opencourse.com

如果梯度下降算法不能正常運行,考慮使用更小的步長α,這裏需要注意兩點:

1)對於足夠小的α J(θ)能保證在每一步都減小;

2)但是如果α太小,梯度下降算法收斂的會很慢;

總結:

1)如果α太小,就會收斂很慢;

2)如果α太大,就不能保證每一次迭代J(θ)都減小,也就不能保證J(θ)收斂;

如何選擇α-經驗的方法:

..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1...

約3倍於前一個數。

5) Features and polynomial regression(特徵及多項式迴歸)

例子-房價預測問題:

房價預測問題-多項式迴歸-我愛公開課-52opencourse.com

特徵x1表示frontage(正面的寬度),特徵x2表示depth(深度)

同時x1,x2也可以用一個特徵表示:面積 Area = frontage * depth

 hθ(x)=θ0+θ1x , x表示面積。

多項式迴歸:

很多時候,線性迴歸不能很好的擬合給定的樣本點,例如:

所以我們選擇多項式迴歸:

多項式迴歸公式-我愛公開課-52opencourse.com

對於特徵的選擇,除了n次方外,也可以開根號,事實上也是1/2次方:

多項式迴歸特徵選擇-我愛公開課-52opencourse.com

6) Normal equation(正規方程-區別於迭代方法的直接解法)

相對於梯度下降方法,Normal Equation是用分析的方法直接解決θ.

正規方程的背景:

在微積分裏,對於1維的情況,如果θ 屬於R:

J(θ)=aθ2+bθ+c

求其最小值的方法是令:

ddθJ(θ)=...=0

然後得到θ.

微積分求導-我愛公開課-52opencourse.com

 

同理,在多變量線性迴歸中,對於θRn+1,Cost Function是:

cost function-我愛公開課-52opencourse.com

求取θ的思路仍然是:

求導-cost function-我愛公開課-52opencourse.com

對於有4組特徵(m=4)的房價預測問題:

房價預測問題-我愛公開課-52opencourse.com

其中X 是m * (n+1)矩陣:

X-特徵矩陣-我愛公開課-52opencourse.com

y是m維向量:
y_向量-我愛公開課-52opencourse.com

則Normal equation的公式爲:

θ=(XTX)1XTy

注:這裏直接給出了正規方程的公式,沒有給出爲什麼是這樣的,如果想知道原因,建議看看MIT線性代數 第4章4.3節“最小二乘法”的相關內容,這裏面最關鍵的一個點是:

“The partial derivatives of ||Axb||2 are zero when ATAx=ATb.

 

舉例可見官方的PPT,此處略;

Octave公式非常簡潔:pinv(X' * X) * X' * y

對於m個樣本,n個特徵的問題,以下是梯度下降和正規方程的優缺點:

梯度下降:

需要選擇合適的learning rate α;

需要很多輪迭代;

但是即使n很大的時候效果也很好;

Normal Equation:

不需要選擇α

不需要迭代,一次搞定;

但是需要計算(XTX)1,其時間複雜度是O(n3)

如果n很大,就非常慢

 

7) Normal equation and non-invertibility (optional)(正規方程在矩陣不可逆情況下的解決方法)

對於Normal Equation,如果XTX 不可逆怎麼辦?

1) 去掉冗餘的特徵(線性相關):

例如以平方英尺爲單位的面積x1,  和以平方米爲單位的面積x2,其是線性相關的:

x1 = (3.28)2 x2

2) 過多的特徵,例如m <= n: 

刪掉一些特徵,或者使用regularization--之後的課程會專門介紹。

 

參考資料:

以下是第四課“多變量線性迴歸”的課件資料下載鏈接,視頻可以在Coursera機器學習課程上觀看或下載: https://class.coursera.org/ml
PPT   PDF
 
另外關於第三課“線性代數回顧”,由於課程內容相對簡單,沒有以筆記的形式呈現,而是換了一種寫法,具體可參考:  線性代數的學習及相關資源
 
不過大家仍可從以下鏈接下載官方第三課的相關課件:
PPT   PDF
發佈了6 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章