boosting方法


概述

Boosting基本思想: 通過改變訓練數據的概率分布(訓練數據的權值分布),學習多個弱分類器,並將它們線性組合,構成強分類器。

Boosting算法要求基學習器能對特定的數據分布進行學習,這可通過“重賦權法”(re-weighting)實施。對無法接受帶權樣本的基學習算法,則可通過“重采樣法”(re-sampling)來處理。若采用“重采樣法”,則可獲得“重啟動”機會以避免訓練過程過早停止。可根據當前分布重新對訓練樣本進行采樣,再基於新的采樣結果重新訓練處基學習器。

提升方法AdaBoost算法

1、提升方法的基本思路

(1)提高那些被前一輪弱分類器錯誤分類樣本的權值,而降低那些被正確分類樣本的權值。未被正確分類的樣本受到后一輪弱分類器更大的關注。
(2)AdaBoost 采用加權多數表決,加大分類誤差率小的弱分類器的權值,使其在表決中起較大的作用。

2、AdaBoost算法

注意:修改:

 

3、一個例子

 

AdaBoost算法的訓練誤差分析

 

AdaBoost算法的解釋

1.前向分布算法

2、前向分布算法與AdaBoost算法

AdaBoost算法可以由前向分布算法推導得出,主要依據如下定理:

證明參考這位大神:https://blog.csdn.net/thriving_fcl/article/details/50877957

證明太精彩了,唯一不明白就是樣本權值更新公式。

 

提升樹

1、提升樹模型

提升樹模型可以表示為決策樹的加法模型:

其中,

2、提升樹算法

用平方誤差損失函數的回歸問題,用指數損失函數的分類問題,以及用一般損失函數的一般決策問題。

(1)分類問題同上面說過的例子,基分類器換做決策樹就行了。下面看一下回歸問題:

(2)一個例子

3、梯度提升

總而言之

最后小結一下GBDT算法的優缺點。

優點:

  • 預測精度高
  • 適合低維數據
  • 能處理非線性數據

缺點:

  • 並行麻煩(因為上下兩棵樹有聯系)
  • 如果數據維度較高時會加大算法的計算復雜度

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM