小白也能看懂的機器學習之整合演算法

dicksonjyl560101發表於2019-08-21



整合演算法的目的是讓,讓機器學習效果更好,單個不行,群毆走起

有一下集中常見整合學習演算法:

Bagging 訓練多個分類器取平均


小白也能看懂的機器學習之整合演算法


Boosting :從弱學習器開始加強,透過加權來進行訓練 ,加入一棵樹,要比原來強 。


小白也能看懂的機器學習之整合演算法


Stacking:聚合多個分類或迴歸模型(可以分階段來做)

Bagging模型

其全稱叫做bootstrap aggregation(說白了就是並行訓練一堆分類器) ,最典型的代表就是隨機森林啦 ,所謂隨機就是資料取樣隨機,特徵選擇隨機 。森林就是很多個決策樹並行放在一起。


小白也能看懂的機器學習之整合演算法


隨機森林 構造樹模型:


小白也能看懂的機器學習之整合演算法


由於二重隨機性,使得每個樹基本上都不會一樣,最終的結果也會不一樣

Bagging模型 樹模型:


小白也能看懂的機器學習之整合演算法


之所以要進行隨機,是要保證泛化能力,如果樹都一樣,那就沒意義了!

隨機森林優勢

1、它能夠處理很高維度( feature很多)的資料,並且不用做特徵選擇

2、在訓練完後,它能夠給出哪些feature比較重要

3、容易做成並行化方法,速度比較快

4、可以進行視覺化展示,便於分析


小白也能看懂的機器學習之整合演算法


KNN模型:


小白也能看懂的機器學習之整合演算法


KNN就不太適合,因為很難去隨機讓泛化能力變強!

樹模型:


小白也能看懂的機器學習之整合演算法


理論上越多的樹效果會越好,但實際上基本超過一定數量就差不多上下浮動了 。

Boosting模型

典型代表:AdaBoost, Xgboost

Adaboost會根據前一次的分類效果調整資料權重

解釋:如果某一個資料在這次分錯了,那麼在下一次我就會給它更大的權重

最終的結果:每個分類器根據自身的準確性來確定各自的權重,再合體

Adaboost工作流程

每一次切一刀! 最終合在一起 ,弱分類器這就升級了!

Stacking模型

堆疊:很暴力,拿來一堆直接上(各種分類器都來了) ,可以堆疊各種各樣的分類器( KNN,SVM,RF等等)

分階段:第一階段得出各自結果,第二階段再用前一階段結果訓練

為了刷結果,不擇手段!


小白也能看懂的機器學習之整合演算法


堆疊在一起確實能使得準確率提升,但是速度是個問題

整合演算法是競賽與論文神器,當我們更關注於結果時不妨來試試!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2654426/,如需轉載,請註明出處,否則將追究法律責任。

相關文章