Andrew Ng機器學習算法入門((六):多變量線性回歸方程求解


多變量線性回歸

之前討論的都是單變量的情況。例如房價與房屋面積之前的關系,但是實際上,房價除了房屋面積之外,還要房間數,樓層等因素相關。那么此時就變成了一個多變量線性回歸的問題。在實際問題中,多變量的線性回歸問題是更加常見的。
下面這個例子就是表明了我上面所說的情況。

之前的單變量線性回歸的問題,最后求解得到的是一個線性方程。那么在多變量線性回歸中,得到的是:

其中X,theta都是一個n階向量。那么最后的表示方式就變為了:
h 是theta的轉置與X的乘積。

多變量梯度下降

和單變量的線性回歸方程一樣,我們同樣會存在一個多變量的線性回歸方程。同時也存在一個對應的代價函數。下面就是一個多變量的代價函數。

代價函數的求法同樣是根據梯度下降的方式來進行求解。

下面這張圖的足有兩個公式分別顯示了不同的情況,左右是一個最基礎的情況,只有兩個參數。而右邊就是常見的多變量的梯度下降的函數。

相信上面這兩張圖已經將區別和聯系表現出來了。

梯度下降算法實踐1——特征縮放

在多變量的梯度下降算法中,如果多個變量能夠在同一個或者是相近的區間范圍內,這樣就很方便問題的求解。當然前提是知道多變量的實際的取值范圍。
在房屋的例子中,假設我們是研究房價與房屋大小和房屋房間數量的關系。同時我們知道房屋大小和房間數量間的關系,如房屋大小是位於0-2000英寸,房間數量是1-5。那么我們最后得到的輪廓函數為:

但是如果我們將所有參數x1和x2都的取值都進行標准化,例如集中到[0,1]之間,那么最后輪廓函數變為:

標准化算法也有很多,最簡單的方式是:

梯度下降算法實踐2——學習率

梯度下降算法的特征縮放考慮的是將變量進行標准化,而學習率考慮的是學習率的大小問題。之前就討論過,如果學習率過大,則可能無法收斂。如果學習率較小,則迭代次次數過大。
正常的情況下,一般是通過繪制迭代次數和代價函數的圖表來觀測合適收斂,如下:

也有一些自動測試是否收斂的方法,例如將代價函數的變化值與某個閥值(例如 0.001)
進行比較,但通常看上面這樣的圖表更好。
通過圖表觀察,需要注意的問題是,迭代的次數收到學習率a的影響。
一般情況,學習率的選擇如下:
0.01,0.03,0.1,0.3,1,3,10

總結

本次的課程,還是比較簡單易懂的,都是理論上面的問題,也無須編程實現。

為了能到遠方,腳下的每一步都不能少


免責聲明!

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



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