adaboost演算法的目標是提高
學習演算法(比如說lms演算法)的
分類準確率。
adaboost演算法提供的是框架
。可以使用各種學習方法構建子分類器。
二: 演算法分析
步驟:根據訓練樣本設計乙個分類器,根據分類的結果,改變每個樣本的權重,產生乙個弱分類器,一直迭代,直到最後的誤差率小於給定的誤差率。把這些分類器合併起來,組成乙個強分類器。
一:從大小為n的原始樣本集d中隨機選出n1個樣本點(不放回),組成乙個樣本集d1。
二:用樣本集d1我們可以訓練出第乙個分類器。記為c1
三:然後構造第二個分類器。首先我們需要構造樣本集d2(d2中的樣本,一半能夠被c1正確分類,一半不能夠被c1正確分類),下面給出一種構造方法:
採用拋硬幣的方式,如果硬幣是正面:選取d中剩餘的樣本點,用c1進行分類,直到找出分錯的樣本,加入d2.
如果硬幣是反面:從d1中選取乙個被c1正確分類的樣本點,加入d2.
最後d2就是c1所產生的的最富資訊的集合。
四:然後,我們構造第三個分類器,選取d中剩餘的樣本點,用c1和c2進行分類,如果c1和c2分類的結果不一樣,則把這個樣本加入d2.否則,忽視這個樣本點。然後用d3訓練新的分類器c3.
對於boosting演算法,存在兩個問題:
1. 如何調整訓練集,使得在訓練集上訓練的弱分類器得以進行:
使用加權後選取的訓練資料代替隨機選取的訓練樣本,這樣將訓練的焦點集中在比較難分的訓練資料樣本上;
2. 如何將訓練得到的各個弱分類器聯合起來形成強分類器:
將弱分類器聯合起來,使用加權的投票機制代替平均投票機制。讓分類效果好的弱分類器具有較大的權重,而分類效果差的分類器具有較小的權重。
三:訓練過程
第二步:
根據分類的正確率,得到乙個新的樣本分佈d3,乙個子分類器h2
弱分類器h2 中有三個「-」符號分類錯誤
分類錯誤的權值為:we2=0.1*3=0.3;
上圖中十個點的總權值為:wt2=0.1*7+0.233*3=1.3990;
錯誤率為:ε2=we2/wt2=0.3/1.399= 0.2144;
弱分類器h3 中有兩個「+」符號和乙個「-」符號分類錯誤
分類錯誤的權值為we3=0.1*2+0.1*1=0.3;
上圖中十個點的總權值為:wt3=0.1*4+0.233*3+0.3664*3=2.1982;
錯誤率為: εt=we3/wt3=0.3/2.1982= 0.1365;
分類錯誤的三個點誤差增加為0.6326如此迭代
第四步:
有公式:
每個區域是屬於哪個屬性,由這個區域所在分類器的權值綜合決定。比如左下角的區域,屬於藍色分類區的權重為h1 中的0.42和h2 中的0.65,其和為1.07;屬於淡紅色分類區域的權重為h3 中的0.92;屬於淡紅色分類區的權重小於屬於藍色分類區的權值,因此左下角屬於藍色分類區。
因此可以得到整合的結果如上圖所示,從結果圖中看,即使是簡單的分類器,組合起來也能獲得很好的分類效果。
總結:
adaboost 權值為什麼這樣調節:
提高錯誤點的權值,當下一次分類器再次分錯了這些點之後,會提高整體的錯誤率,這樣就導致αt變的很小,最終導致這個分類器在整個混合分類器的權值變低。也就是說,這個演算法讓優秀的分類器佔整體的權值更高,而挫的分類器權值更低。
AdaBoost演算法講解 舉例
adaboost演算法的目標是提高 學習演算法 比如說lms演算法 的 分類準確率。adaboost演算法提供的是框架 可以使用各種學習方法構建子分類器。二 演算法分析 步驟 根據訓練樣本設計乙個分類器,根據分類的結果,改變每個樣本的權重,產生乙個弱分類器,一直迭代,直到最後的誤差率小於給定的誤差率...
Adaboost演算法 詳細講解
最近在做整合學習的時候,對adaboost非常感興趣,就自己復現了這個程式。首先提公升方法是基於這樣的乙個思想 對於乙個複雜的任務來說,通將多個專家的判斷進行適當的綜合所得到的判斷,這樣得到的結果會比單個專家的判斷要好。adaboost做法的核心問題adaboost演算法流程 假設給定乙個二分類的訓...
AdaBoost演算法原理
每個haar特徵對應看乙個弱分類器,但並不是任伺乙個haar特徵都能較好的描述人臉灰度分布的某一特點,如何從大量的haar特徵中挑選出最優的haar特徵並製作成分類器用於人臉檢測,這是adaboost演算法訓練過程所要解決的關鍵問題。paul viola和michael jones於2001年將ad...