Boosting 和 Adaboost 的關係和區別是什麼?
boosting 是一種將弱分類器轉化為強分類器的方法統稱,而adaboost是其中的一種,採用了exponential loss function(其實就是用指數的權重),根據不同的loss function還可以有其他演算法,比如L2Boosting, logitboost...還有adidas跑鞋上的boost很不錯,腳感一流,可以一試。
Boosting 是一種將弱分離器組合起來形成強分類器的演算法框架。
一般而言,Boosting演算法有三個要素[1]:1)函數模型:Boosting的函數模型是疊加型的,即;2)目標函數:選定某種損失函數作為優化目標;3)優化演算法:貪婪地逐步優化,即。
將上述框架中的選為決策樹,將選為指數損失函數,就可以得到AdaBoost演算法。也就是說AdaBoost是Boosting演算法框架中的一種實現。當然也有別的實現,比如LogitBoost演算法等。參考文獻:[1]Additive Logistic Regression: a Statistical View of Boosting題主要問的是boosting而不是boost吧
來自以前某門課自己的筆記片段… 這些都是boosting方法,adaboost是其中一類,adaptive boosting… 當然好像有的地方只認為第一列blending里的東西才叫boosting,不過這個不重要吧。
adaboost在下一次迭代前,對數據進行抽樣時,會更care上一次迭代被錯分的樣本,賦予錯分樣本更大的抽樣權重。
國美和美國的區別
你好,AdaBoost是一種自適應的步進演算法,也許你已經很了解這種演算法,我還是稍微嘴一下。該演算法是Schapire和Freund提出的一種步進演算法,該演算法將多個弱分類器集合通過投票的手段來改變各個分類器的權值,使分類時錯誤分類的分類器獲得較大權值。同時在每一次循環中也改變樣本的分布,這樣錯誤分類的樣本也會受到更多的關注。具體的演算法流程如下
提升(Boosting)是一種常用的統計學習方法,在分類問題中,它通過改變訓練樣本的權重,學習多個分類器(一般是弱分類器),並將這些分類器線性組合,最終提高分類器的性能。而針對於這種提升方法而言,需要回答兩個問題,一是在每一輪如何改變訓練樣本的權值或概率分布;二是如何將弱分類器組合成一個強分類器。Adaboost屬於Boosting一種,它可以很好的解決上述兩個問題,針對第一個問題,Adaboost的做法是提高那些被前一輪弱分類器錯誤分類樣本的權值,而降低那些被正確分類的樣本的權重。從而使得那些被錯誤分類的樣本由於其權值被加大而受到後一輪弱分類器的更多的關照(關注)。而針對第二個問題,Adaboost採取加權多數表決的方法,加大分類誤差率小的弱分類器的權重,使其在最終的分類器表決中起較大作用,減小分類誤差率大的弱分類器的權重,使其在表決中起較小的作用。總結起來,有兩個權重的概念,一個是增大錯誤分類樣本的權重,一個增大分類誤差率小的弱分類器的權重。
摘自《統計學習方法》
通用的Boosting演算法:根據某個樣本分布,訓練弱分類器,進行貪婪學習,得到最優化結果,訓練過程是序列串列的。
AdaBoost,按照周志華教授用英語寫作的《集成學習》的描述,一旦被錯分,必須重新更新權值,如果指數損失(Expoential Loss),分類錯誤(Classification Error)也將被最小化。
Adaboost據說是最早的實用的boosting algorithm?
圖片截自 CMU 10-601課件
http://www.cs.cmu.edu/~ninamf/courses/601sp15/slides/15_boosting_3-16-2015.pdf
推薦閱讀:
※如何評價 2017 年 IHMSC 上發表的探測流量的論文?
※如何評價演算法本身的理解不重要 ,只要會用現成的開源工具來實現就可以這種觀點?
※怎麼從零實現車牌識別(LPR)?
※如何用TensorLayer做目標檢測的數據增強