斯坦福大學機器學習第四課"多變量線性迴歸“學習筆記,本次課程主要包括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(多維特徵)
第二課中我們談到的是單變量的情況,單個特徵的訓練樣本,單個特徵的表達式,總結起來如下圖所示:
對於多維特徵或多個變量而言:以房價預測爲例,特徵除了“房屋大小外”,還可以增加“房間數、樓層數、房齡”等特徵,如下所示:
定義:
n = 特徵數目
對於Hypothesis,不再是單個變量線性迴歸時的公式:
而是:
爲了方便,記
其中
2) Gradient descent for multiple variables(梯度下降在多變量線性迴歸中的應用)
對於Hypothesis:
其中參數:
對於Cost Function:
梯度下降算法如下:
對
當特徵數目爲1,也就是n=1時:
當特徵數目大於1也就是n>1時,梯度下降算法如下:
3) Gradient descent in practice I: Feature Scaling(梯度下降實踐1:特徵歸一化)
核心思想:確保特徵在相似的尺度裏。
例如房價問題:
特徵1:房屋的大小(0-2000);
特徵2:房間數目(1-5);
簡單的歸一化,除以每組特徵的最大值,則:
目標:使每一個特徵值都近似的落在
舉例:因爲是近似落在這個範圍內,所以只要接近的範圍基本上都可以接受,例如:
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(均值歸一化):
用
其中
對於房價問題中的兩個特徵,均值歸一化的過程如下:
4) Gradient descent in practice II: Learning rate(梯度下降實踐2:步長的選擇)
對於梯度下降算法:
需要注意兩點:
-"調試”:如何確保梯度下降算法正確的執行;
-如何選擇正確的步長(learning rate):
第二點很重要,它也是確保梯度下降收斂的關鍵點。要確保梯度下降算法正確運行,需要保證
如果梯度下降算法不能正常運行,考慮使用更小的步長
1)對於足夠小的
2)但是如果
總結:
1)如果
2)如果
如何選擇
..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1...
約3倍於前一個數。
5) Features and polynomial regression(特徵及多項式迴歸)
例子-房價預測問題:
特徵
同時
即
多項式迴歸:
很多時候,線性迴歸不能很好的擬合給定的樣本點,例如:
所以我們選擇多項式迴歸:
對於特徵的選擇,除了n次方外,也可以開根號,事實上也是1/2次方:
6) Normal equation(正規方程-區別於迭代方法的直接解法)
相對於梯度下降方法,Normal Equation是用分析的方法直接解決
正規方程的背景:
在微積分裏,對於1維的情況,如果
求其最小值的方法是令:
然後得到
同理,在多變量線性迴歸中,對於
求取
對於有4組特徵(m=4)的房價預測問題:
其中X 是m * (n+1)矩陣:
y是m維向量:
則Normal equation的公式爲:
注:這裏直接給出了正規方程的公式,沒有給出爲什麼是這樣的,如果想知道原因,建議看看MIT線性代數 第4章4.3節“最小二乘法”的相關內容,這裏面最關鍵的一個點是:
“The partial derivatives of
舉例可見官方的PPT,此處略;
Octave公式非常簡潔:pinv(X' * X) * X' * y
對於m個樣本,n個特徵的問題,以下是梯度下降和正規方程的優缺點:
梯度下降:
需要選擇合適的learning rate
需要很多輪迭代;
但是即使n很大的時候效果也很好;
Normal Equation:
不需要選擇
不需要迭代,一次搞定;
但是需要計算
如果n很大,就非常慢
7) Normal equation and non-invertibility (optional)(正規方程在矩陣不可逆情況下的解決方法)
對於Normal Equation,如果
1) 去掉冗餘的特徵(線性相關):
例如以平方英尺爲單位的面積x1, 和以平方米爲單位的面積x2,其是線性相關的:
2) 過多的特徵,例如m <= n:
刪掉一些特徵,或者使用regularization--之後的課程會專門介紹。
參考資料: