【机器学习基础】GBDT--梯度提升树实例分析完全解读
GBDT是集成學習中的一員,想要理解梯度提升,必須先理解什么是提升樹,想理解提升樹要了解什么是提升方法。
提升方法本身是采用了加法模型(基函數(shù)的線性組合)和前向分步算法,從弱學習算法出發(fā),反復學習,得到一系列弱學習器,然后通過組合弱學習器得到強學習器。當每個弱學習器是CART樹的時候,就是提升樹。對于回歸問題一般采用平方誤差作為損失函數(shù),分類問題采用指數(shù)損失函數(shù),一般問題用一般的損失函數(shù)。
一、提升樹
每一步生成一棵樹,不斷優(yōu)化當前的學習器,用優(yōu)化后的學習器學習到的值,和原始標簽數(shù)據(jù)計算殘差,繼續(xù)將殘差作為下一棵樹的初始數(shù)據(jù)進行擬合,每一棵樹都是CART回歸樹,因為每次迭代擬合的目標是殘差,是連續(xù)值。
回歸問題中提升樹的生成方法: 二、梯度提升那么為什么要用負梯度呢?對于損失函數(shù)是平方誤差的回歸問題,我們可以簡單優(yōu)化,但是對于一般的損失函數(shù)用損失函數(shù)的負梯度來擬合本輪損失的近似值,利用最速下降法的近似方法來起到和回歸問題中的殘差近似的效果。
三、梯度提升實例 四、梯度提升實例用一個稍微復雜一點點的例子來說明一下,上個例子中只有一個特征,不易理解。要求最大深度為3,樹5棵。
調用sklearn跑出來的5棵樹如下圖,初始值,f0(x)=1.475
第一棵樹:
第二棵樹: 第三棵樹: 第四棵樹: 第五棵樹:詳細解答過程:(感謝大神) mp.weixin.qq.com/s/ljC2dYfUz…
總結
以上是生活随笔為你收集整理的【机器学习基础】GBDT--梯度提升树实例分析完全解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jenkins+github+docke
- 下一篇: Dart基础语法