Stanford機器學習---第二講. 多變量線性回歸 Linear Regression with multiple variable


原文:http://blog.csdn.net/abcjennifer/article/details/7700772

 

本欄目(Machine learning)包括單參數的線性回歸、多參數的線性回歸、Octave Tutorial、Logistic Regression、Regularization、神經網絡、機器學習系統設計、SVM(Support Vector Machines 支持向量機)、聚類、降維、異常檢測、大規模機器學習等章節。所有內容均來自Standford公開課machine learning中Andrew老師的講解。(https://class.coursera.org/ml/class/index

 

第二講-------多變量線性回歸 Linear Regression with multiple variable

 

 

(一)、Multiple Features:

 

多變量假設:輸出由多維輸入決定,即輸入為多維特征。如下圖所示:Price為輸出,前面四維為輸入:

假設h(x)=θ0+θ1x1+……所謂多參數線性回歸即每個輸入x有(n+1)維[x0……xn]

 

 

 

(二)、Gradient Descent for Multiple Variables:

 

左邊為但參數的梯度遞減單變量學習方法,右圖new algorithm為多變量學習方法。

 

 

 

 

 

(三)、Gradient Descent for Multiple Variables - Feature Scaling

 

It is important to 歸一化feature,所以用到了feature scaling,即將所有feature歸一化到[-1,1]區間內:

 

歸一化方法:xi=(xi-μi)/σi

 

 

 

 

 

(四)、Gradient Descent for Multiple Variables - Learning Rate

 

梯度下降算法中另一關鍵點就是機器學習率的設計:設計准則是保證每一步迭代后都保證能使cost function下降。

這是cost function順利下降的情況:

這是cost function不順利下降的情況:

原因如右圖所示,由於學習率過大,使得隨着迭代次數的增加,J(θ)越跳越大,造成無法收斂的情況。

解決方法:減小學習率

總結:如何選取學習率:

測試α=0.001,收斂太慢(cost function下降太慢),測試0.01,過了?那就0.003……

 

 

 

 

 

(五)、Features and Polynomial Regression

 

假設我們的輸入為一座房子的size,輸出為該house的price,對其進行多項式擬合:

有兩個選擇,二次方程或者三次方程。考慮到二次方程的話總會到最高點后隨着size↑,price↓,不合常理;因此選用三次方程進行擬合。

這里歸一化是一個關鍵。

或者有另一種擬合方程,如圖粉紅色曲線擬合所示:

 

 

 

 

 

(六)、Normal Equation

 

與gradient descent平行的一種方法為Normal Equation,它采用線性代數中非迭代的方法,見下圖:

我們想要找到使cost function 最小的θ,就是找到使得導數取0時的參數θ:
該參數可由圖中紅框公式獲得:

具體來說:X是m×(n+1)的矩陣,y是m×1的矩陣

上圖中為什么x要加上一列1呢?因為經常設置X(i)0=1;

下面比較一下Gradient Descent與Normal Equation的區別:

 

 

 

 

 

(七)、Normal Equation Noninvertibility

 

我們已知,對於有m個樣本,每個擁有n個feature的一個訓練集,有X是m×(n+1)的矩陣,XTX是(n+1)×(n+1)的方陣,那么對於參數θ的計算就出現了一個問題,如果|XTX|=0,即XTX不可求逆矩陣怎么辦?這時可以進行冗余feature的刪除(m<=n的情況,feature過多):


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM