1. 程式人生 > >Machine Learning_Ng 第四講 多變量線性回歸

Machine Learning_Ng 第四講 多變量線性回歸

and tip ng- 次數 快的 www. 特征 參數 nbsp

在第四講中,主要學習了多變量線性回歸(Linear Regression with Multiple Variables)的多維特征、多變量梯度下降、特征縮放、特征和多項式回歸以及正規方程等。

# 多維特征(Multiple Features)


為房價模型增加更多的特征,如房間樓層數等,則構成了一個含有多個變量的模型。

技術分享圖片

假設$h_\theta(x)=\theta_0+\theta_1*x_1+\theta_2*x_2+…+\theta_n*x_n$,

設x_0=1,則存在$h_\theta(x)=\theta^T*X$,其中T表示矩陣轉置且

$\theta= \left [ \begin{matrix} \theta_0\\ \theta_1 \\\vdots \\ \theta_n \end{matrix} \right] \quad X=\left[ \begin{matrix} x_0 \\x_1 \\ \vdots \\x_n \end{matrix} \right] $


# 多變量梯度下降(Gradient Descent for Multiple Variables)


多變量線性回歸和單變量線性回歸類似,代價函數也為所有建模誤差的平方和,即

$J(\theta_0,\theta_1,\cdots,\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 \quad 其中,h_\theta(x)=\theta^T*X=\theta_0+\theta_1*x_1+\theta_2*x_2+…+\theta_n*x_n$

技術分享圖片

# 梯度下降法實踐1-特征縮放(Feature Scaling)


在面對多維特征向量時,我們要保證這些特征都具有相近的維度。以房價問題為例,若房屋尺寸為0-2000平方英尺,而房間數量為0-5,以這兩個參數分別為橫縱坐標繪制代價函數的等高線圖時,圖形會特別扁,導致梯度下降算法需要非常多次的叠代才能收斂。此時,解決方法一般為嘗試將所有特征的尺度都盡量縮放到-1到1之間

技術分享圖片技術分享圖片技術分享圖片

# 梯度下降法實踐2-學習率(Learning Rate)


我們通過繪制當前叠代次數和代價函數的圖表來觀測梯度下降算法是否正確工作

技術分享圖片技術分享圖片技術分享圖片

梯度下降算法的每次叠代受到學習率的影響,如果學習率α 過小,則達到收斂所需的叠代次數會非常高;如果學習率α 過大,每次叠代可能不會減小代價函數,可能會越過局部最小值導致無法收斂。 通常可以考慮嘗試些學習率: α=0.01,0.03,0.1,0.3,1,3,10

# 特征和多項式回歸(Features and Polynomial Regression)


線性回歸並不適用於所有數據,有時我們需要用曲線來擬合我們的數據,如多元二次方程或三次方程。

技術分享圖片

註:若我們采用多項式回歸模型,在運行梯度下降算法前,特征縮放非常重要。

# 正規方程(Normal Equation)


相比於線性回歸中的梯度下降法(通過多次叠代算法來得到代價函數的局部最小值),有時候正規方程解決線性回歸問題更高效。正規方程是通過求解代價函數導數為0來找出使得代價函數最小的參數的。

技術分享圖片技術分享圖片

假設我們的訓練集特征矩陣為X(包含了$x_0=1$),並且我們的訓練集結果為向量y,則利用正規方程可解出向量$\theta=(X^TX)^{-1}X^Ty$

技術分享圖片

總結一下,只要特征變量數量小於一萬,通常使用正規方程法,而不使用梯度下降法。 隨著我們要講的學習算法越來越復雜,例如,當我們講到分類算法,像邏輯回歸算法, 我們會看到, 實際上對於那些算法,並不能使用正規方程法。對於那些更復雜的學習算法, 我們將不得不仍然使用梯度下降法。因此,梯度下降法是一個非常有用的算法,可以用在有 大量特征變量的線性回歸問題。或者我們以後在課程中,會講到的一些其他的算法,因為標 準方程法不適合或者不能用在它們上。但對於這個特定的線性回歸模型,標準方程法是一個 比梯度下降法更快的替代算法。所以,根據具體的問題,以及你的特征變量的數量,這兩種 算法都是值得學習的。

參考鏈接

1.https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

2.https://github.com/HuangCongQing/MachineLearning_Ng

註:碼字不易,若您轉載,請務必註明出處:https://www.cnblogs.com/jngwl/

Machine Learning_Ng 第四講 多變量線性回歸