整合學習總結(Ensemble Learning)

dicksonjyl560101發表於2019-08-08
整合學<1111111span class='tip' style='color:orange'><11111span class='tip' style='color:orange'><111span class='tip' style='color:orange'>習總<111/span><11111/span><1111111/span>結(Ensemble Learning)

Ensemble Learning 是指將多個不同的 Base Model 組合成一個 Ensemble Model 的方法。它可以同時降低最終模型的 Bias 和 Variance,從而在提高分數的同時又降低 Overfitting 的風險。在現在的 Kaggle 比賽中要不用 Ensemble 就拿到獎金幾乎是不可能的。

常見的 Ensemble 方法有這麼幾種:

Bagging:使用訓練資料的不同隨機子集來訓練每個 Base Model,最後進行每個 Base Model 權重相同的 Vote。也即 Random Forest 的原理。

Boosting:迭代地訓練 Base Model,每次根據上一個迭代中預測錯誤的情況修改訓練樣本的權重。也即 Gradient Boosting 的原理。比 Bagging 效果好,但更容易 Overfit。

Blending:用不相交的資料訓練不同的 Base Model,將它們的輸出取(加權)平均。實現簡單,但對訓練資料利用少了。

Stacking:接下來會詳細介紹。

從理論上講,Ensemble 要成功,有兩個要素:

Base Model 之間的相關性要儘可能的小。這就是為什麼非 Tree-based Model 往往表現不是最好但還是要將它們包括在 Ensemble 裡面的原因。Ensemble 的 Diversity 越大,最終 Model 的 Bias 就越低。

Base Model 之間的效能表現不能差距太大。這其實是一個 Trade-off,在實際中很有可能表現相近的 Model 只有寥寥幾個而且它們之間相關性還不低。但是實踐告訴我們即使在這種情況下 Ensemble 還是能大幅提高成績。

Tree Ensemble methods

迴歸樹整合

預測值為各個樹的分數之和

GBM, random forest

Boosting

Boosting:迭代地訓練 Base Model,每次根據上一個迭代中預測錯誤的情況修改訓練樣本的權重。也即 Gradient Boosting 的原理。比 Bagging 效果好,但更容易 Overfit。

這是一種個體學習器之間存在強依賴關係,必須序列生成的序列化方法。

下面是幾個常用的Boosting工具

整合學<1111111span class='tip' style='color:orange'><11111span class='tip' style='color:orange'><111span class='tip' style='color:orange'>習總<111/span><11111/span><1111111/span>結(Ensemble Learning)

AdaBoost

boosting組合-GDBT:精益求精

從理論上講,Ensemble 要成功,有兩個要素:

Base Model 之間的相關性要儘可能的小。這就是為什麼非 Tree-based Model 往往表現不是最好但還是要將它們包括在 Ensemble 裡面的原因。Ensemble 的 Diversity 越大,最終 Model 的 Bias 就越低。

Base Model 之間的效能表現不能差距太大。這其實是一個 Trade-off,在實際中很有可能表現相近的 Model 只有寥寥幾個而且它們之間相關性還不低。但是實踐告訴我們即使在這種情況下 Ensemble 還是能大幅提高成績。

Bagging

Bagging:使用訓練資料的不同隨機子集來訓練每個 Base Model,最後進行每個 Base Model 權重相同的 Vote。也即 Random Forest 的原理。

這是一種個體學習器之間不存在強依賴關係,可同時生成的並行化方法

Blending

Blending:用不相交的資料訓練不同的 Base Model,將它們的輸出取(加權)平均。實現簡單,但對訓練資料利用少了。

整合主要思路

平均法

投票法

學習法:Stacking


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