数据挖掘十大经典算法之——AdaBoost 算法
數(shù)據(jù)挖掘十大經(jīng)典算法系列,點(diǎn)擊鏈接直接跳轉(zhuǎn):
- 數(shù)據(jù)挖掘簡(jiǎn)介及十大經(jīng)典算法(大綱索引)
- 1. 數(shù)據(jù)挖掘十大經(jīng)典算法之——C4.5 算法
- 2. 數(shù)據(jù)挖掘十大經(jīng)典算法之——K-Means 算法
- 3. 數(shù)據(jù)挖掘十大經(jīng)典算法之——SVM 算法
- 4. 數(shù)據(jù)挖掘十大經(jīng)典算法之——Apriori 算法
- 5. 數(shù)據(jù)挖掘十大經(jīng)典算法之——EM 算法
- 6. 數(shù)據(jù)挖掘十大經(jīng)典算法之——PageRank 算法
- 7 數(shù)據(jù)挖掘十大經(jīng)典算法之——AdaBoost 算法
- 8. 數(shù)據(jù)挖掘十大經(jīng)典算法之——KNN 算法
- 9. 數(shù)據(jù)挖掘十大經(jīng)典算法之——Naive Bayes 算法
- 10. 數(shù)據(jù)挖掘十大經(jīng)典算法之——CART 算法
簡(jiǎn)介
??Adaboost :Adaptive Boosting(自適應(yīng)提升)
??Boosting :Boostings是提升的意思,提升算法是一種常見(jiàn)的統(tǒng)計(jì)學(xué)習(xí)方法,其作用是將弱學(xué)習(xí)算法提升為強(qiáng)學(xué)習(xí)算法。其理論基礎(chǔ)為:強(qiáng)可學(xué)習(xí)器與弱可學(xué)習(xí)器是等價(jià)的,即可通過(guò)某些方法將學(xué)習(xí)中發(fā)現(xiàn)的’弱學(xué)習(xí)算法’特生為強(qiáng)可學(xué)習(xí)器,這是數(shù)學(xué)可證明的。
??在分類(lèi)學(xué)習(xí)中,提升算法通過(guò)反復(fù)修改訓(xùn)練數(shù)據(jù)的權(quán)值分布,構(gòu)建一系列的基本分類(lèi)器(弱分類(lèi)器),并將這些基本分類(lèi)器線性組合,構(gòu)成一個(gè)強(qiáng)學(xué)習(xí)器。
??Adaboost算法:是Boosting的代表算法之一。Ada是自適應(yīng)的Adaptive的縮寫(xiě).是一種迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集,通過(guò)反復(fù)修改數(shù)據(jù)的權(quán)重,從而訓(xùn)練多個(gè)不同的分類(lèi)器(弱分類(lèi)器),然后把這些弱分類(lèi)器集合起來(lái),構(gòu)成一個(gè)強(qiáng)分類(lèi)器。其算法本身是通過(guò)改變數(shù)據(jù)分布來(lái)實(shí)現(xiàn)的,它根據(jù)每次訓(xùn)練集中每個(gè)樣本的分類(lèi)正確性,以及上次總體分類(lèi)結(jié)果的準(zhǔn)確率,來(lái)確定每個(gè)樣本的權(quán)值。將修改過(guò)權(quán)值的新數(shù)據(jù)集送給下層分類(lèi)器進(jìn)行訓(xùn)練,最后將每次訓(xùn)練得到的分類(lèi)器融合起來(lái),作為最終決策分類(lèi)器。
原理
??Adaboost 算法的訓(xùn)練過(guò)程就是找出若干個(gè)弱分類(lèi)器[5]。 設(shè) n 個(gè)弱分類(lèi)器(h1,h2,…,hn)是由相同的學(xué)習(xí)算法形成 的,每個(gè)弱分類(lèi)器能單獨(dú)對(duì)未知樣本分類(lèi)成正樣本或負(fù)樣本(二分類(lèi)情況),通過(guò)加權(quán)統(tǒng)計(jì)弱分類(lèi)器的分類(lèi)結(jié)果得出最終的分類(lèi)結(jié)果。 選擇弱分類(lèi)器的過(guò)程中,只要求分類(lèi)器對(duì)樣本的分類(lèi)能力大于自然選擇就可以了,即分類(lèi)錯(cuò)誤率小于0.5。 凡是分類(lèi)錯(cuò)誤率低于0.5 的分類(lèi)器都可以作為弱分類(lèi)器,但在實(shí)際的訓(xùn)練過(guò)程中,還是選擇錯(cuò)誤率最低的分類(lèi)器作為該輪選擇的弱分類(lèi)器,表示 如下:
??其中,p=±1, 用于改變不等式的方向,θj 代表某個(gè)特征 j 的閾值。 Adaboost 算法模型如圖 1 所示。
??圖 1 中, 權(quán)重代表弱分類(lèi)器對(duì)樣本分類(lèi)的貢獻(xiàn)大小,其值越大,表明特征對(duì)樣本的分類(lèi)能力越好。分類(lèi)結(jié)果是由 n 個(gè)弱分類(lèi)器加權(quán)“投票”的結(jié)果,投票結(jié)果與某一閾值比較,得出最終對(duì)樣本的分類(lèi)。 強(qiáng)分類(lèi)器 F 表示為:
步驟
- 權(quán)值調(diào)整,提升被錯(cuò)誤分類(lèi)的樣本的權(quán)重,降低被正確分類(lèi)的權(quán)重
- 基分類(lèi)器組合,采用加權(quán)多數(shù)表決算法,加大分類(lèi)誤差率較小的弱分類(lèi)器的權(quán)重,減小誤差大的。
具體為:
先通過(guò)對(duì)N 個(gè)訓(xùn)練樣本的學(xué)習(xí)得到第一個(gè)弱分類(lèi)器;
將分錯(cuò)的樣本和其他的新數(shù)據(jù)一起構(gòu)成一個(gè)新的N 個(gè)的訓(xùn)練樣本,通過(guò)對(duì)這個(gè)樣本的學(xué)習(xí)得到第二個(gè)弱分類(lèi)器;
將分錯(cuò)了的樣本加上其他的新樣本構(gòu)成另一個(gè)新的N個(gè)的訓(xùn)練樣本,通過(guò)對(duì)這個(gè)樣本的學(xué)習(xí)得到第三個(gè)弱分類(lèi)器;
如此反復(fù),最終得到經(jīng)過(guò)提升的強(qiáng)分類(lèi)器。
特性
- Adaboost更加專(zhuān)注于偏差,他可以降低基學(xué)習(xí)器的偏差,對(duì)基學(xué)習(xí)器進(jìn)行進(jìn)一步的提升.
- Adaboost的默認(rèn)基學(xué)習(xí)器是決策樹(shù),我們也可以使用其他基學(xué)習(xí)器證明其對(duì)降低偏差的影響.
- Adaboost的訓(xùn)練誤差分析表明,Adaboost每次迭代可以減少它在訓(xùn)練數(shù)據(jù)集上的分類(lèi)誤差率,這說(shuō)明了它作為提升方法的有效性.但是在實(shí)際使用中要注意方差-偏差困境,避免泛化能力的降低.
案例
- 【實(shí)例講解】Adaboost算法原理分析和實(shí)例+代碼
代碼
代碼來(lái)源廣泛,本文多為集大成操作,深度研究請(qǐng)關(guān)注原創(chuàng):
- 【python】AdaBoost算法特性
- 【MATLAB】機(jī)器學(xué)習(xí) AdaBoost算法的MATLAB實(shí)現(xiàn)
學(xué)術(shù)
- 【算法研究】 基于軟間隔的AdaBoost弱分類(lèi)器權(quán)重調(diào)整算法
- 【算法優(yōu)化】 基于Adaboost和CART結(jié)合的優(yōu)化分類(lèi)算法
- 【算法優(yōu)化】 基于SVM與AdaBoost組合的分類(lèi)算法研究
應(yīng)用
目前AdaBoost 算法廣泛的應(yīng)用于人臉檢測(cè)、目標(biāo)識(shí)別等領(lǐng)域。
- 【目標(biāo)檢測(cè)】 基于改進(jìn)Adaboost算法的車(chē)牌定位研究
- 【人臉識(shí)別】基于膚色和改進(jìn)的AdaBoost人臉檢測(cè)算法研究
參考資料
- 【博客】AdaBoost算法特性
- 【論文】基于 Adaboost 和 CART 結(jié)合的優(yōu)化分類(lèi)算法
注 :本文旨在引導(dǎo)探索,深度學(xué)習(xí)還需認(rèn)真研究相關(guān)學(xué)者的成果。文章如有侵權(quán),請(qǐng)聯(lián)系作者刪除
總結(jié)
以上是生活随笔為你收集整理的数据挖掘十大经典算法之——AdaBoost 算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据挖掘十大经典算法之——K-Means
- 下一篇: 数据挖掘十大经典算法之——KNN 算法