Self-Study

梯度提升與梯度下降有何不同?

  • July 23, 2015

我正在閱讀有關梯度提升的有用維基百科條目(https://en.wikipedia.org/wiki/Gradient_boosting),並嘗試了解我們如何/為什麼可以通過最陡下降步驟(也稱為偽梯度)來近似殘差)。誰能給我關於最陡下降如何與殘差聯繫/相似的直覺?非常感謝幫助!

在此處輸入圖像描述

假設我們處於以下情況。我們有一些數據, 其中每個可以是數字或向量,我們想確定一個函數近似關係,在最小二乘誤差的意義上:

是小。

現在,問題進入了我們想要的領域成為。域的退化選擇只是我們訓練數據中的點。在這種情況下,我們可以只定義,覆蓋整個所需的域,並完成它。得出這個答案的一種方法是用這個離散空間作為域進行梯度下降。這需要稍微改變一下觀點。讓我們將損失視為點 true 的函數和預測 (暫時,不是函數,而只是預測的值)

然後取相對於預測的梯度

然後梯度更新,從一個初始值開始是

所以我們用這個設置在梯度步驟中恢復了我們的完美預測,這很好!

當然,這裡的缺陷是我們想要的不僅僅是在我們的訓練數據點上定義的。為此,我們必須做出一些讓步,因為我們無法在訓練數據集以外的任何點評估損失函數或其梯度。

大的想法是弱近似.

Start初步猜測為, 幾乎總是一個簡單的常數函數, 這在任何地方都有定義。現在通過評估訓練數據上損失函數的梯度來生成一個新的工作數據集,使用初始猜測:

Now approximate 通過將弱學習器擬合到. 假設我們得到了近似值. 我們獲得了數據的擴展以形式跨越整個域,儘管我們在訓練點上失去了精度,因為我們適合一個小的學習者。

Finally, 利用代替在梯度更新中在整個域中:

我們出去,一個新的近似, 好一點. 重新開始, 並迭代直到滿意。

希望您看到真正重要的是近似損失的梯度。在最小二乘最小化的情況下,這採用原始殘差的形式,但在更複雜的情況下則不然。機器仍然適用。只要可以構建一種算法來計算訓練數據的損失和損失梯度,我們就可以使用該算法來逼近一個最小化該損失的函數。

引用自:https://stats.stackexchange.com/questions/162928

comments powered by Disqus