Boosting演算法概念解析

2021-08-17 14:04:35 字數 2185 閱讀 3548

根據所給演算法描述,好像只能同質 整合。

adaboost是一種迭代演算法,其核心思想是針對同乙個訓練集訓練不同的分類器(弱分類器),然後把這

adaboost

些弱分類器集合起來,構成乙個更強的最終分類器(強分類器)。

其演算法本身是通過改變資料分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新資料集送給下層

分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器

。使用adaboost分類器可以排除一些不必要的訓練資料特徵,並放在關鍵的訓練資料上面。

boosting族演算法中最著名的代表是adaboost

這就是adaboost的結構,最後的分類器ym是由數個弱分類器(weak classifier)組合而成的,相當於最後m個弱分類器來投票決定分類,而且每個弱分類器的「話語權」α不一樣。

這裡闡述下演算法的具體過程:

a).訓練弱分類器ym(),使其最小化權重

誤差函式(weighted error function):

b)接下來計算該弱分類器的話語權α:  

c)更新權重:

演算法:

看的雲裡霧裡的有木有,反正我是,但是我們又大牛給出了詳細的例子,我都看懂了。哈哈

下面我們舉乙個簡單的例子來看看adaboost的實現過程:

圖中,「+」和「-」分別表示兩種類別,在這個過程中,我們使用水平或者垂直的直線作為分類器,來進行分類。

第一步:

根據分類的正確率,得到乙個新的樣本分佈d

2?,乙個子分類器h

1其中劃圈的樣本表示被分錯的。在右邊的途中,比較大的「+」表示對該樣本做了加權。

第二步:

根據分類的正確率,得到乙個新的樣本分佈d3

,乙個子分類器h2

第三步:

得到乙個子分類器h

3整合所有子分類器:

因此可以得到整合的結果,從結果中看,即使簡單的分類器,組合起來也能獲得很好的分類效果,在例子中所有的。

adaboost演算法的某些特性是非常好的,在我們的報告中,主要介紹adaboost的兩個特性。一是訓練的錯誤率上界,隨著迭代次數的增加,會逐漸下降;二是adaboost演算法即使訓練次數很多,也不會出現過擬合的問題。

最後,我們可以總結下adaboost演算法的一些實際可以使用的場景:

1)用於二分類或多分類的應用場景

2)用於做分類任務的baseline

無腦化,簡單,不會overfitting,不用調分類器

3)用於特徵選擇(feature selection)

4)boosting框架用於對badcase的修正

只需要增加新的分類器,不需要變動原有分類器

由於adaboost演算法是一種實現簡單,應用也很簡單的演算法。adaboost演算法通過組合弱分類器而得到強分類器,同時具有分類錯誤率上界隨著訓練增加而穩定下降,不會過擬合等的性質,應該說是一種很適合於在各種分類場景下應用的演算法。

Boosting演算法總結

adaboosting 通過前向分步法,優化損失函式,為指數損失函式,然後梯度上公升樹。可以 任意分類器作為弱分類器。優化步長,與迭代次數。gbdt 回歸問題 1 擬合殘差 2 cart樹 3 擬合負梯度 分類問題 1 改變擬合loss,比如 邏輯回歸,對數損失,adaboost 指數損失。2 訓練...

Boosting演算法學習

1 提公升演算法 boosting 是常用的有效的統計學習演算法,屬於迭代演算法,它通過不斷地使用乙個弱學習器彌補前乙個弱學習器的 不足 的過程,來序列地構造乙個較強的學習器,這個強學習器能夠使目標函式值足夠小。2 bagging也是一種常用的統計學習方法,兩者經常放在一起對比,它們不同的是,bag...

Bagging和Boosting 概念及區別

文章 自liuwu265的部落格 bagging和boosting都是將已有的分類或回歸演算法通過一定方式組合起來,形成乙個效能更加強大的分類器,更準確的說這是一種分類演算法的組裝方法。即將弱分類器組裝成強分類器的方法。首先介紹bootstraping,即自助法 它是一種有放回的抽樣方法 可能抽到重...