天天看點

機器學習之——多項式回歸和正規方程

上一次我們分享了多變量線性回歸模型(linear regression with multiple variables),這一次我們來讨論一下多項式回歸(polynomial regression)

和正規方程(normal equation)。(我們還是讨論房價預測的問題)

多項式回歸

有時候,線性回歸并不适用于所有全部的資料,我們需要曲線來适應我們的資料,比如一個二次方模型:

機器學習之——多項式回歸和正規方程

或者一個三次方模型:

機器學習之——多項式回歸和正規方程

這兩個模型我們在坐标系繪圖如下:

機器學習之——多項式回歸和正規方程

通常情況,我們需要先觀察資料然後再去決定使用怎樣的模型來處理問題。

除此之外,我們還可以使 :

機器學習之——多項式回歸和正規方程

這樣便将高階方程模型轉換成線性回歸模型。這也算是特征縮放(features scaling)的一種。

ps : 如果我們的模型采用多項式回歸模型,在運作梯度下降算法之前,特征縮放是非常有必要的。

正規方程

到目前為止,我們學習讨論的機器學習算法,都是梯度下降算法(grandient descent)。但是對于某些回歸問題,還有一種更好的解決方案,正規方程。

正規方程是通過求解下面的方程來找出使得代價函數最小的參數:

機器學習之——多項式回歸和正規方程

假設我們的訓練特征矩陣為x(包含了x0=1)并且我們的訓練集結果為向量 y ,則利用正規方程解出向量 :

機器學習之——多項式回歸和正規方程

标注:t表示矩陣x的轉置,-1 表示矩陣x的逆

我們使用房價預測問題的資料:

機器學習之——多項式回歸和正規方程

資料包括四個特征(不包括x0),我們加入x0=1,這時候我們使用正規方程方法來求解:

機器學習之——多項式回歸和正規方程

在matlab中,正規方程寫作:pinv(x' * x)*x'*y

這裡有一個需要注意的地方,有些不可逆的矩陣(通常是因為特征之間并不獨立,比如同時包含英尺為機關的尺寸和米為機關的尺寸這兩個特征,也有可能是特征數量大于訓練集的數量,比如有2000個特征但是隻有1000個訓練集),正規方程方法是不能夠使用的。

那麼我們現在有兩個機器學習的算法了,一個是梯度下降,一個是正規方程,兩個方法比較如下:

機器學習之——多項式回歸和正規方程

至此,線性回歸的問題我們就讨論到這兒。下一階段我們将讨論邏輯回歸問題(logistic regression)。

繼續閱讀