特征縮放和學習速率選取
特征縮放
實際當我們在計算線性回歸模型的時候,會發(fā)現(xiàn)特征變量x,不同維度之間的取值范圍差異很大。這就造成了我們在使用梯度下降算法的時候,由于維度之間的差異使得Jθ的值收斂的很慢。
我們還是以房價預測為例子,我們使用2個特征。房子的尺寸(1~2000),房間的數量(1-5)。以這兩個參數為橫縱坐標,繪制代價函數的等高線圖能看出整個圖顯得很扁,假如紅色的軌跡即為函數收斂的過程,會發(fā)現(xiàn)此時函數收斂的非常慢。

為了解決這個問題,我們采用特征縮放。
所謂的特征縮放就是把所有的特征都縮放到一個相近的取值范圍內。比如-1~1,或者-0.5~2,或者-2~05 等等,只要不超過-3 ~ 3這個范圍,基本上都能夠滿足梯度下降算法
梯度下降算法中,最合適即每次跟著參數θ變化的時候,J(θ)的值都應該下降。
梯度下降算法每次迭代,都會受到學習速率α的影響。
如果α較小,則達到收斂所需要迭代的次數就會非常高;
如果α較大,則每次迭代可能不會減小代價函數的結果,甚至會超過局部最小值導致無法收斂,則會導致代價函數振蕩。

文獻中學習率選擇方法
吳恩達教學中講到:
α初始值位0.001, 不符合預期乘以3倍用0.003代替,不符合預期再用0.01替代,如此循環(huán)直至找到最合適的α。
http://blog.csdn.net/u012162613/article/details/44265967
http://blog.csdn.net/chenguolinblog/article/details/52138510
http://www.cnblogs.com/yjbjingcha/p/7094816.html
https://www.zhihu.com/question/54097634