非正式介紹
和其他boost方法一樣,梯度提升方法也是通過疊代的方法聯合弱”學習者”聯合形成一個強學習者。很容易在最小二乘回歸中解釋算法的原理,最小二乘法回歸的目的就是“教”模型通過將平方誤差最小化(平均訓練集)來預測函式的值。
在梯度提升中,假設已經有一些不完美的模型(最初可以使用非常弱的模型,它只是預測輸出訓練集的平均值)。梯度提升算法不改變,而是通過增加估計器構建新的模型來提高整體模型的效果。那么問題來了,如何尋找函式呢,梯度提升方法的解決辦法是認為最好的應該使得梯度下降方向最最佳化。
經驗之談
1、對於稀疏數據,儘量使用學習率可自適應的最佳化方法,不用手動調節,而且最好採用默認值。
2、SGD通常訓練時間更長,但是在好的初始化和學習率調度方案的情況下,結果更可靠。
3、如果在意更快的收斂,並且需要訓練較深較複雜的網路時,推薦使用學習率自適應的最佳化方法。
4、Adadelta,RMSprop,Adam是比較相近的算法,在相似的情況下表現差不多。
5、在想使用帶動量的RMSprop,或者Adam的地方,大多可以使用Nadam取得更好的效果。
正則化
擬合訓練集太過於接近可能會降低模型的泛化能力。幾種所謂的正則化技術通過約束擬合過程來減少這種過擬合效應。一個很自然的正則化參數是梯度提升的疊代次數M(即當基學習器是決策樹時,模型中樹的數目)。 增加M可減少訓練誤差,但將其設定得太高可能導致過擬合。 通常通過在單獨的驗證集上監測誤差來選擇M的最優值。 除了控制M之外,還可以使用其他一些正則化技術:收縮;隨機梯度提升等方法。