吳恩達機器學習筆記(3)

weixin_34075551發表於2019-01-21

多變數線性迴歸:

問題:根據多個屬性,如房子面積,房子樓層,房子年齡等估計房子的價格

15572624-529546b1180da63f.png
多變數線性迴歸中的變數
15572624-a4c0dbc48b58ca80.png
多變數線性迴歸的假設
15572624-5657677e0b37e5b8.png
此時有多個特徵,i對應不同的特徵值,如房子面積,樓層,年齡等,引數為一個n+1維向量
15572624-db5139ec29cc585d.png
多變數線性迴歸中的梯度下降,對每一個引數求偏導數從而得到不同引數的梯度

引數特徵縮放——加速梯度下降過程收斂到最優值

15572624-31b443320f47e0ac.png
多變數梯度下降時,引數的取值要儘量小

在多多變數梯度下降中,要讓不同引數的取值範圍儘量相似且範圍要小,如果取值範圍差別很大,如左上圖,那麼等值線會變得細長,會使得梯度下降來回震盪,達到最優解所需的步驟更多,時間變長。為了解決這種問題,可以將引數進行調整,如右上圖,引數全部特徵縮放為(0,1)範圍內的值,得到較為均勻等值線,這樣在梯度下降的過程中所需的步驟和時間都會比較少。                                                                                                                                                    通常特徵縮放將引數範圍轉化為大約在(-1,1)附近。有時也會進行均值歸一化,即減去樣本均值後在除以樣本個數。或進行樣本標準化,即每個樣本減去均值後在除以標準差。

學習率——除錯Debugging 和 學習率的選擇

除錯:確保你梯度正常工作,若梯度下降正常工作,每一步迭代後的代價函式值是下降的。跌通常損失函式值不在下降或下降的不太明顯的時候就實現了收斂,通常可以通過收斂測試自動判斷是否收斂,當下降的大小小於某一個閾值時,則認為其實現了收斂。

15572624-b684a4417263e685.png
損失函式隨迭代次數變化圖
15572624-6ffb362ae071c373.png
要選擇合適的學習率

如果選擇的學習率較大,則會產生如上左圖,上升的損失函式值或震盪的損失函式線,但是若學習率較小,則會使達到收斂所需的步數增多。數學家們已經證明,只要有足夠小的學習率,損失函式是會下降的。在進行梯度下降時,可以嘗試不同的學習率(十倍間隔/三倍間隔),畫出不同學習率下的損失函式線,然後選擇合適的學習率。

相關文章