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