Boosting and AdaBoost

2022-06-23 15:51:09 字數 1521 閱讀 9741

是一種從一些弱分類器中建立一個強分類器的整合技術(提升演算法)。

它先由訓練資料構建一個模型,然後建立第二個模型來嘗試糾正第一個模型的錯誤。不斷新增模型,直到訓練集完美**或已經新增到數量上限。

bagging與boosting的區別:取樣方式不同。bagging採用均勻取樣,而boosting根據錯誤率取樣。bagging的各個**函式沒有權重,而boosting是由權重的,bagging的各個**函式可以並行生成,而boosing的哥哥**函式只能順序生成。

adaboost演算法的全稱是自適應boosting(adaptive boosting),是一種用於二分類問題的演算法,它用弱分類器的線性組合來構造強分類器。弱分類器的效能不用太好,僅比隨機猜測強,依靠它們可以構造出一個非常準確的強分類器。

adaboost是為二分類開發的第一個真正成功的boosting演算法,同時也是理解boosting的最佳起點。目前基於adaboost而構建的演算法中最著名的就是隨機梯度boosting。

adaboost(adaptive boosting, r.scharpire1996)是一種迭代演算法。

核心思想:針對同一個訓練集訓練不同的分類器(弱分類器),然後集合弱分類器構成更強的最終分類器(強分類器)。 adaboost演算法本身通過改變資料分佈實現,根據每次訓練集中每個樣本是否分類正確以及上次總體分類的準確率來確定每個樣本的權值。將修改過的權值的新資料送給下層分類器訓練,最後將每次得到的分類器融合起來,作為最後的決策分類器。

常與短決策樹一起使用。在建立第一棵樹之後,每個訓練例項在樹上的效能都決定了下一棵樹需要在這個訓練例項上投入多少關注。

難以**的訓練資料會被賦予更多的權重,而易於**的例項被賦予更少的權重。

模型按順序依次建立,每個模型的更新都會影響序列中下一棵樹的學習效果。

在建完所有樹之後,演算法對新資料進行**,並且通過訓練資料的準確程度來加權每棵樹的效能。

因為演算法極為注重錯誤糾正,所以一個沒有異常值的整潔資料十分重要。

adaboost的實現是一個漸進的過程,從一個最基礎的分類器開始,每次尋找一個最能解決當前錯誤樣本的分類器。用加權取和(weighted sum)的方式把這個新分類器結合進已有的分類器中。

它的好處是自帶了特徵選擇(feature selection),只使用在訓練集中發現有效的特徵(feature)。這樣就降低了分類時需要計算的特徵數量,也在一定程度上解決了高維資料難以理解的問題。

最經典的adaboost實現中,它的每一個弱分類器其實就是一個決策樹。這就是之前為什麼說決策樹是各種演算法的基石。

adaboost演算法是一種整合學習(ensemble learning)方法。整合學習是機器學習中的一類方法,它對多個機器學習模型進行組合形成一個精度更高的模型,參與組合的模型稱為弱學習器(weak learner)。在**時使用這些弱學習器模型聯合起來進行**;訓練時需要用訓練樣本集依次訓練出這些弱學習器。典型的整合學習演算法是隨機森林和boosting演算法,而adaboost演算法是boosting演算法的一種實現版本。

AdaBoost

boosting是整合學習的一種,與之相對的就是bagging。boosting是一種將多個弱學習器組合在一起提升為一個強的學習器,多個弱學習器之間採用序列的方式進行連線 即上一個弱學習器的學習結果會對下一個學習器有影響 ,而bagging則是採用並行的方式將多個弱學習器組合在一起。對於boosti...

Bagging和Boosting

baggging 和boosting都是模型融合 整合學習的方法,可以將弱分類器融合之後形成一個強分類器,而且融合之後的效果會比最好的弱分類...

AdaBoost分類器

adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器 弱分類器 ,然後把這些弱分類器集合起來,構成一個更強的最終分...