上一次我們分享了多變量線性回歸模型(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)。