前言
研究机器学习模型,有时觉得单一模型有其局限性,加另一个模型进去,效果会不会好点,或者将二者进行结合输出。目前市面上的一些文章,尤其喜欢使用融合模型。接下来简单聊聊融合的方式。
1 融合对象
融合对象,是指我们要对什么进行融合,这里是指不同的算法、模型和个体学习器等等。
融合对象的基本信息:
- 训练数据:数据集使用比例、预处理方法
- 模型结构:RF、XGBoost、CatBoost、CNN、LSTM等;
- 超参:随机种子数、权重初始化、损失函数等。
2 融合方法
2.1 投票法
对多个学习器的预测结果进行投票,即少数服从多数。投票法有两种:普通投票法和加权投票法。加权的权重可以人工主观设置或者根据模型评估分数来设置权重
2.2 平均法
- 算术平均
每个模型的权重一样
- 几何平均
相乘开方
- 加权平均
加个权重,权重的参考选择
2.3 排序法
排序法的具体步骤如下:
- (1) 对预测结果进行排序;
- (2) 对排序序号进行平均;
- (3) 对平均排序序号进行归一化。
也可选择最大的几个值,怎么选,制定一个标准才行
2.3 堆叠法
- 一个模型对数据进行处理,另一个模型也对数据进行处理,二者结合
- 一个模型处理数据,另一个模型在前一个基础上进行处理
- 对模型预测的结果,进行分析处理
- 一个预测前,一个预测后结合处理
3 总结
- 融合模型可以带来精度或者指标上的提升,但是会增加额外开销,比如说时间、效率。
- 融合模型还得看具体适用场景,也不能一概而论。