自適應提公升演算法(AdaBoost)介紹(二)

2021-08-08 10:46:19 字數 938 閱讀 1314

提公升方法(boosting)介紹:

提公升方法基於這樣乙個思想:對於乙個複雜任務來說,將多個專家的判斷進行適當綜合所得出的判斷,要比其中任何乙個專家單獨的判斷要好。實際上,就是「三個臭皮匠頂個諸葛亮」的道理。提公升方法的問題在於,在學習中,如果已經發現了弱學習演算法,能否將它提公升為強學習演算法。因為在應用中,發現弱學習演算法要比強學習演算法容易得多。關於提公升的策略,最具代表性是adaboost演算法。對於分類問題,在給定的訓練樣本上獲得乙個粗糙規則(弱分類器)要比獲得乙個精確規則(強分類器)容易的多。提公升方法就是在弱學習演算法上反覆學習,得到一系列的弱分類器(也叫做基本分類器),然後組合這些弱分類器,構造乙個能夠更加準確分類的強分類器。此時會有兩個問題:

自適應提公升演算法(adaboost)介紹:

給定乙個二分類資料集

基本分類器的選擇方法

在確定基本分類器時,adaboost通常採取的方法是遍歷所有的弱分類器(或是所有的特徵),求所有的弱分類器在正負樣本上的錯誤率,將最小錯誤率對應的弱分類器作為本輪迭代的基本分類器。在遍歷的過程要注意,弱分類器是有兩個方向的,不同的方向判為正例和負例所導致的錯誤率也是不相同的,所以對乙個弱分類器在訓練樣本上需要計算兩次錯誤率,取最小值作為該弱分類器在訓練集上的訓練錯誤率。具體過程如下:

在實際的應用中由於訓練的樣本量巨大,如果一一比較所有樣本的特徵值是否過該弱分類器所設定的閾值,需要大量的計算時間,導致訓練速度很慢。實際上我們採取的是這樣的方法:

訓練樣本事先分成兩類:正樣本和負樣本,並按照特徵值從小到大進行排序。人臉檢測的弱分類器(特徵)的閾值選取的方法通常定義為兩個樣本特徵值的平均數,選取最優的閾值(錯誤率最小的閾值)時要遍歷所有的樣本,由於事先已經排序,只需要計算該樣前面或後面的樣本個數即可。

例如,下圖中為某乙個特徵10000正樣本和1000負樣本對應的特徵值:

Adaboost 自適應提公升樹 演算法原理

adaboost的前身的boosting演算法。1990年,schapire最先構造出一種多項式級的演算法,對該問題做了肯定的證明,這就是最初的boosting演算法。一年後,freund提出了一種效率更高的boosting演算法。但是,這兩種演算法存在共同的實踐上的缺陷,那就是都要求事先知道弱學習...

自適應演算法

自適應過程是乙個不斷逼近目標的過程。它所遵循的途徑以數學模型表示,稱為自適應演算法。通常採用基於梯度的演算法,其中最小均方誤差演算法 即lms演算法 尤為常用。自適應演算法可以用硬體 處理電路 或軟體 程式控制 兩種辦法實現。前者依據演算法的數學模型設計電路,後者則將演算法的數學模型編製成程式並用計...

機器學習 提公升方法AdaBoost演算法

機器學習 深度學習 nlp 搜尋推薦 等 索引目錄 adaboost演算法是提公升方法中具有代表性的一種演算法,本篇博文主要學習adaboost的演算法思想以及從前向分步加法模型的角度來解釋adaboost演算法。對於提公升方法來說,其基本思路是從弱學習演算法出發,反覆學習,得到一系列弱分類器 基分...