boosting是整合演算法之一,通過整合多個弱分類器,從而形成乙個強分類器。
任一弱學習演算法可以通過加強提公升到乙個任意正確率的強學習演算法,並通過構造一種多項式級的演算法來實現這一加強過程,這就是最初的boosting演算法的原型。
boosting是一種將弱分類器通過某種方式結合起來得到乙個分類效能大大提高的強分類器的分類方法。該方法可以把一些粗略的經驗規則轉變為高度準確的**法則。強分類器對資料進行分類,是通過弱分類器的多數投票機制進行的。該演算法是乙個簡單的弱分類演算法提公升過程,這個過程通過不斷的訓練,以提高對資料的分類能力。
如果乙個學習演算法通過一組樣本,識別率很高,則稱其為強學習演算法,如果識別率僅比隨機猜測略高,其猜測準確率略大於50%,則稱其為弱學習演算法。
核心思想:
1、自適應的調整弱學習演算法的錯誤率,經過若干次迭代後錯誤率能達到預期的效果。
2、它不需要精確的知道樣本空間分布,在每次弱學習後調整樣本空間分布,更新所有訓練樣本的權重,把樣本空間中被正確分類的樣本權重降低,被錯誤分類的樣本權重將會提高,這樣下次弱學習時就能更關注這些被錯誤分類的樣本,該演算法可以很容易的應用到實際問題中,因此,已經成為目前最流行的boosting演算法。
boosting演算法流程如下:
1、先通過對n個訓練資料的學習得到第乙個弱分類器h1。
2、將h1分錯的資料和其他新資料一起構成乙個新的有n個訓練資料的樣本,通過對這個學習樣本的學習得到第二個弱學習分類器h2。
3、將h1和h2都分錯了的資料加上其他新的資料構成另外乙個新的有n個訓練資料的樣本,通過對這個樣本的學習得到第三個弱分類器h3。
4、最終經過提公升的強分類器為所有弱分類器的加權結合。即某個資料被分為哪一類要通過所有的弱分類器的多數決定。
上述boosting演算法,存在兩個問題:
1、如何調整訓練集,使得在訓練集上訓練弱分類器得以進行。
2、如何將訓練得到的各個弱分類器聯合起來形成強分類器。
針對以上兩個問題,adaboost演算法進行了調整:
1、使用加權後隨機選取的訓練資料代替隨機選取的訓練資料,這樣將訓練的焦點集中在比較難分的訓練資料上。
2、將弱分類器聯合起來,使用加權的投票機制代替平均投票機制,讓分類效果好的弱分類器具有較大的權重,而分類效果差的分類器具有較小的權重。
整合學習Boosting思想之AdaBoost
對於 bagging 思想整合的隨機森林,是可以並行訓練的,正是因為每個弱分類器之間不相互影響 而 boosting 是通過序列訓練而獲得的,每個分類器要根據以前訓練出的分類器的效能來進行訓練。boosting 常用模型 adaboost gradient boosting gbt gbdt gbr...
整合學習 bagging和boosting
bagging boostrap aggregating 對樣本再取樣 boostrap 對每一重取樣的子樣本訓練乙個模型,最後取平均,所以是降低模型的variance。bagging比如random forest這種先天並行的演算法都有這個效果。boosting則是迭代演算法,每一次迭代都根據上一...
整合學習 Boosting和Bagging異同
整合學習 ensemble learning 有時也被籠統地稱作提公升 boosting 方法,廣泛用於分類和回歸任務。它最初的思想很簡單 使用一些 不同的 方法改變原始訓練樣本的分布,從而構建多個不同的分類器,並將這些分類器線性組合得到乙個更強大的分類器,來做最後的決策。也就是常說的 三個臭皮匠頂...