本文主要是参考 Kaggle Ensembling Guide 所写的读后感,原文网址详见:https://mlwave.com/kaggle-ensembling-guide/
首先,我们讲到的模型融合的方式主要有三种:
- bagging (随机森林模型是基于bagging融合的代表)
- boosting (GBDT和XGboost模型是基于boosting融合的代表)
- stacking
此三种方法主要是从模型的角度讲解如何进行集成学习(ensembling learning),但是我们参加kaggle、天池类的比赛,常说的模型融合方法不是指这些,主要指的是一些将不同结果融合以提高分数的技巧。
下面我对常用的模型融合技巧进行介绍
voting(投票法)
- 此方法比较简单,就是我们常见的投票机制,少数服从多数,针对分类模型使用。
下面这个例子简单明了的说明了,为什么不相关的分类器投票融合效果会增加。假设我们有单个正确率为70%的三个互不相关的分类器。然后我们进行投票:
全部正确: 0.7 * 0.7 * 0.7 = 0.3429
两个正确: 0.7 * 0.7 * 0.3 + 0.7 * 0.3 * 0.7 + 0.3 * 0.7 * 0.7 = 0.4409
一个正确: 0.3 * 0.3 * 0.7 + 0.