AdaBoost演算法講解 舉例

2021-07-29 23:59:36 字數 2129 閱讀 7791

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...