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