我們學(xué)過(guò)決策樹(shù)、樸素貝葉斯、SVM、K近鄰等分類器算法,他們各有優(yōu)缺點(diǎn);自然的,我們可以將這些分類器組合起來(lái)成為一個(gè)性能更好的分類器,這種組合結(jié)果被稱為 集成方法 (ensemble method)或者 元算法 (meta-method)。使用集成算法時(shí)有多種形式:
不同算法的集成
同一種算法在不同設(shè)置下的集成
數(shù)據(jù)集不同部分分配 給不同分類器之后的集成
1、bagging 和boosting綜述
bagging 和boosting中使用的分類器類型都是一樣的,即上述第二種形式。
bagging,也稱為自舉匯聚法(boostrap aggegating) 是在原始數(shù)據(jù)集中有放回的選擇S次后得到S個(gè)新數(shù)據(jù)集的一種技術(shù)。新數(shù)據(jù)集和原數(shù)據(jù)集大小相等,但是有可能某一條數(shù)據(jù)被選擇了好幾次,而原數(shù)據(jù)集中某些數(shù)據(jù)在新數(shù)據(jù)集中可能不出現(xiàn)。在S個(gè)數(shù)據(jù)集建好之后,將某個(gè)算法分別作用于每個(gè)數(shù)據(jù)集就得到S個(gè)分類器。對(duì)新數(shù)據(jù)集進(jìn)行分類時(shí),就用這S個(gè)分類器進(jìn)行分類,與此同時(shí),選擇分類器投票結(jié)果中最多的的類別作為最終分類結(jié)果,如圖1所示。Random Forests是一種更先進(jìn)的bagging算法,下文詳細(xì)介紹。
boosting 與bagging很類似,不同的是Boosting是通過(guò)串行訓(xùn)練而獲得的,而每個(gè)新分類器都是根據(jù)已經(jīng)訓(xùn)練好的分類器的性能來(lái)進(jìn)行訓(xùn)練的。AdaBoost是這一種常用的boosting方法。