機器學習:聊聊機器學習模型集成學習演算法——Boosting

這張圖真的棒!

Boosting(提升演算法)

Boosting這其實思想相當的簡單,舉個例子,對一份數據集建立M個模型(比如分類),一般這種模型比較簡單,稱為弱分類器(weaklearner)。每次分類都將上一次分錯的數據權重提高一點再進行分類,這樣最終得到的分類器在測試數據與訓練數據上都可以得到比較好的成績。

Boosting演算法基本步驟

  1. 先對N個訓練樣本S1的學習得到一個弱分類器M1;

  2. 將S1中分錯的樣本和其他新的數據一起構成新的N個訓練樣本S2,再得到一個弱分類器M2;

  3. 將S1和S2中都分錯的樣本和其他新的數據一起構成新的N個訓練樣本S3,再得到一個弱分類器M3;

    Advertisements

  4. 最終得到一堆弱分類器,可根據弱分類器的多數投票表決。

Adaboosting

給定訓練樣本集 ,其中n+,n-分別對應於正例樣本和負例樣本;N為訓練的最大循環次數;

初始化樣本權重 ,即為訓練樣本的初始概率分佈;

第一次迭代:

  1. 訓練樣本的初始概率分佈下,訓練弱分類器:

  2. 然後訓練樣例如果被誤分,那麼它的權重會被加重,相應地,正確被分類的樣例的權重會減少;

  3. 更新訓練樣本的概率分佈,如此迭代后得到m個弱分類器;

  4. 最終結果由弱分類器的結果進行加權多數表決。

<<統計學習方法>>中的闡述

Adaboosting特點:


Advertisements

你可能會喜歡