入門機器學習(二)--多變量線性迴歸

1. 多維特徵

對於房子來說,房子的大小,房間數,樓層,房領等特徵都是影響房價的因素,這些稱爲多維特徵。

如下圖所示:

其中,

表示的是第i個樣本中的第j個特徵。

多變量線性迴歸的假設函數可以表示爲:

對上式進行簡化,另x0=1,則特徵矩陣X以及係數矩陣θ可以表示爲:

   

則假設函數可以被表示爲:

2. 多元梯度下降法

假設函數爲:

其中x0=1

代價函數爲:

梯度下降的迭代公式爲:

對於多元變量線性迴歸的迭代公式,其梯度下降的公式可以更具體的表示爲:

舉例:

一個特徵縮放的方法:

如果特徵之間數量級相差過大,應該對特徵進行相應的縮放,縮放的方法是歸一法,即(樣本值-最小值)/(最大值-最小值),這樣會將特徵的值的範圍縮放到0~1之間

特徵縮放可以使梯度下降的更快以及收斂所需要的迭代次數更少。

一些多元梯度下降過程中的技巧:

根據代價函數的曲線來判斷梯度下降法是否正常工作,正常的代價函數曲線是如下所示的逐步遞減的曲線。

如果代價函數曲線如下所示,說明梯度下降沒有正常工作,請嘗試用更小的學習率

如果代價函數如下所示,說明學習率比較大,請嘗試更小的學習率

如果代價函數如下所示,也請嘗試更小的學習率

學習率可以從以下值嘗試:...,0.001,0.01,0.1,1

3. 特徵和多項式迴歸

線性迴歸並不適應與所有的數據,比如下圖的數據

這是一個非線性的數據,可以假設目標函數爲:

或者

後者曲線在自變量變大的時候不會下降,會趨於平滑

這樣就可以將梯度下降法就可以用作在非線性迴歸中。

4. 正規方程

相對於梯度下降法的多次迭代,正規方程的方法,可以直接一步求出最優的參數,其方程爲:

其中θ爲係數矩陣,X爲特徵矩陣,正規方程適用的前提是X的轉置與X的乘積是可逆的。

梯度下降法和正規方程的區別:

如果正規方程不可以逆怎麼辦?

可以使用各個工具中的僞逆函數進行計算,例如Octave中的:pinv(x'*x)*x'*y

正規方程不可逆通常出現的原因有以下兩個:

有冗餘的特徵,比如特徵中同時有一個房屋的面積和長寬(面積可以通過長寬表示出來)

特徵數>=樣本數