1.集成學習
集成學習(ensemble learning)通過組合多個基分類器(base classifier)來完成學習任務(wù),頗有點“三個臭皮匠頂個諸葛亮”的意味?;诸惼饕话悴捎玫氖侨蹩蓪W習(weakly learnable)分類器,通過集成學習,組合成一個強可學習(strongly learnable)分類器。所謂弱可學習,是指學習的正確率僅略優(yōu)于隨機猜測的多項式學習算法;強可學習指正確率較高的多項式學習算法。集成學習的泛化能力一般比單一的基分類器要好,這是因為大部分基分類器都分類錯誤的概率遠低于單一基分類器的。
偏差與方差
“偏差-方差分解”(bias variance decomposition)是用來解釋機器學習算法的泛化能力的一種重要工具。對于同一個算法,在不同訓練集上學得結(jié)果可能不同。對于訓練集,由于噪音,樣本
的真實類別為
(在訓練集中的類別為
),則噪聲為
學習算法的期望預測為
使用樣本數(shù)相同的不同訓練集所產(chǎn)生的方法
期望輸入與真實類別的差別稱為bias,則
為便于討論,假定噪聲的期望為0,即,通過多項式展開,可對算法的期望泛化誤差進行分解(詳細的推導參看[2]):
也就是說,誤差可以分解為3個部分:bias、variance、noise。bias度量了算法本身的擬合能力,刻畫模型的準確性;variance度量了數(shù)據(jù)擾動所造成的影響,刻畫模型的穩(wěn)定性。為了取得較好的泛化能力,則需要充分擬合數(shù)據(jù)(bias?。?,并受數(shù)據(jù)擾動的影響小(variance小)。但是,bias與variance往往是不可兼得的:
當訓練不足時,擬合能力不夠強,數(shù)據(jù)擾動不足以產(chǎn)生較大的影響,此時bias主導了泛化錯誤率;
隨著訓練加深時,擬合能力隨之加強,數(shù)據(jù)擾動漸漸被學習到,variance主導了泛化錯誤率。
Bagging與Boosting
集成學習需要解決兩個問題:
如何調(diào)整輸入訓練數(shù)據(jù)的概率分布及權(quán)值;
如何訓練與組合基分類器。
從上述問題的角度出發(fā),集成學習分為兩類流派:Bagging與Boosting。Bagging(BootstrapAggregating)對訓練數(shù)據(jù)擦用自助采樣(boostrap sampling),即有放回地采樣數(shù)據(jù);每一次的采樣數(shù)據(jù)集訓練出一個基分類器,經(jīng)過MM次采樣得到MM個基分類器,然后根據(jù)最大表決(majority vote)原則組合基分類器的分類結(jié)果。
Boosting的思路則是采用重賦權(quán)(re-weighting)法迭代地訓練基分類器,即對每一輪的訓練數(shù)據(jù)樣本賦予一個權(quán)重,并且每一輪樣本的權(quán)值分布依賴上一輪的分類結(jié)果;基分類器之間采用序列式的線性加權(quán)方式進行組合。
從“偏差-方差分解”的角度看,Bagging關(guān)注于降低variance,而Boosting則是降低bias;Boosting的基分類器是強相關(guān)的,并不能顯著降低variance。Bagging與Boosting有分屬于自己流派的兩大殺器:Random Forests(RF)和Gradient Boosting Decision Tree(GBDT)。本文所要講的AdaBoost屬于Boosting流派。
2.AdaBoost算法
AdaBoost是由Freund與Schapire [1] 提出來解決二分類問題
根據(jù)加型模型(additive model),第m輪的分類函數(shù)
其中,為基分類器
的組合系數(shù)。AdaBoost采用前向分布(forward stagewise)這種貪心算法最小化損失函數(shù)(1),求解子模型的
其中,為
的分類誤差率。第m+1輪的訓練數(shù)據(jù)集權(quán)值分布
其中,為規(guī)范化因子
則得到最終分類器
是
的單調(diào)遞減函數(shù),特別地,當
時,
;當
時,即基分類器不滿足弱可學習的條件(比隨機猜測好),則應(yīng)該停止迭代。具體算法流程如下:
在算法第4步,學習過程有可能停止,導致學習不充分而泛化能力較差。因此,可采用“重采樣”(re-sampling)避免訓練過程過早停止;即拋棄當前不滿足條件的基分類器,基于重新采樣的數(shù)據(jù)訓練分類器,從而獲得學習“重啟動”機會。
AdaBoost能夠自適應(yīng)(addaptive)地調(diào)整樣本的權(quán)值分布,將分錯的樣本的權(quán)重設(shè)高、分對的樣本的權(quán)重設(shè)低;所以被稱為“Adaptive Boosting”。sklearn的AdaBoostClassifier實現(xiàn)了AdaBoost,默認的基分類器是能fit()帶權(quán)值樣本的DecisionTreeClassifier。
老師木在微博上提出了關(guān)于AdaBoost的三個問題:
1,adaboost不易過擬合的神話。
2,adaboost人臉檢測器好用的本質(zhì)原因,
3,真的要求每個弱分類器準確率不低于50%。
-
算法
+關(guān)注
關(guān)注
23文章
4661瀏覽量
94072 -
集成學習
+關(guān)注
關(guān)注
0文章
10瀏覽量
7374 -
分類器
+關(guān)注
關(guān)注
0文章
152瀏覽量
13325
原文標題:【十大經(jīng)典數(shù)據(jù)挖掘算法】AdaBoost
文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
利用單詞超團的二分圖文本聚類算法
基于主動學習不平衡多分類AdaBoost改進算法
一種多分類的AdaBoost算法
基于聚類算法的二分網(wǎng)絡(luò)社區(qū)挖掘算法

非線性AdaBoost算法
基于可能性二均值聚類的二分類支持向量機
Adaboost算法總結(jié)

基于AdaBoost算法的復雜網(wǎng)絡(luò)鏈路預測

一種融合語義模型的二分網(wǎng)絡(luò)推薦算法

二分搜索算法運用的框架套路
如何理解二分查找算法

評論