一. 集成算法概述
目的:
讓機(jī)器學(xué)習(xí)效果更好,單個(gè)不行,群毆走起
分類:
-
Bagging
訓(xùn)練多個(gè)分類器取平均
image.png -
Boosting
從弱學(xué)習(xí)器開始加強(qiáng),通過加權(quán)來進(jìn)行訓(xùn)練
(加入一棵樹,要比原來強(qiáng))
image.png Stacking
聚合多個(gè)分類或回歸模型(可以分階段來做)
二. Bagging模型
全稱:bootstrap aggregation(說白了就是并行訓(xùn)練一堆分類器)
最典型的代表就是隨機(jī)森林啦
隨機(jī):
數(shù)據(jù)采樣隨機(jī),特征選擇隨機(jī)
森林:
很多個(gè)決策樹并行放在一起

隨機(jī)森林:
構(gòu)造樹模型:

由于二重隨機(jī)性,使得每個(gè)樹基本上都不會(huì)一樣,最終的結(jié)果也會(huì)不一樣
Bagging模型:
樹模型:


之所以要進(jìn)行隨機(jī),是要保證泛化能力,如果樹都一樣,那就沒意義了!
隨機(jī)森林優(yōu)勢:
它能夠處理很高維度(feature很多)的數(shù)據(jù),并且不用做特征選擇
在訓(xùn)練完后,它能夠給出哪些feature比較重要
容易做成并行化方法,速度比較快
可以進(jìn)行可視化展示,便于分析

Bagging模型:
KNN模型:


KNN就不太適合,因?yàn)楹茈y去隨機(jī)讓泛化能力變強(qiáng)!
樹模型:

理論上越多的樹效果會(huì)越好,但實(shí)際上基本超過一定數(shù)量就差不多上下浮動(dòng)了
三. Boosting模型
典型代表:
AdaBoost,Xgboost
Adaboost會(huì)根據(jù)前一次的分類效果調(diào)整數(shù)據(jù)權(quán)重
解釋:
如果某一個(gè)數(shù)據(jù)在這次分錯(cuò)了,那么在下一次我就會(huì)給它更大的權(quán)重
最終的結(jié)果:
每個(gè)分類器根據(jù)自身的準(zhǔn)確性來確定各自的權(quán)重,再合體
Adaboost工作流程:
每一次切一刀!
最終合在一起
弱分類器這就升級了!

四. Stacking模型
堆疊:
很暴力,拿來一堆直接上(各種分類器都來了)
可以堆疊各種各樣的分類器(KNN,SVM,RF等等)
分階段:
第一階段得出各自結(jié)果,第二階段再用前一階段結(jié)果訓(xùn)練
為了刷結(jié)果,不擇手段!

堆疊在一起確實(shí)能使得準(zhǔn)確率提升,但是速度是個(gè)問題
集成算法是競賽與論文神器,當(dāng)我們更關(guān)注于結(jié)果時(shí)不妨來試試!

