【数据挖掘】模型融合

模型融合

1.目标

  • 对于多种调参完成的模型进行模型融合。
  • 完成对于多种模型的融合,提交融合结果并打卡。

2. 摘要

模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式。

  1. 简单加权融合:
    • 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean);
    • 分类:投票(Voting)
    • 综合:排序融合(Rank averaging),log融合
  2. stacking/blending:
    • 构建多层模型,并利用预测结果再拟合预测。
  3. boosting/bagging(在xgboost,Adaboost,GBDT中已经用到):
    • 多树的提升方法

3. 内容

3.1 简单加权融合

1)平均融合

对于回归问题,一个简单直接的思路是取平均。也可以采用加权平均,而权值可以用排序的方法确定,举个例子,比如A、B、C三种基本模型,模型效果进行排名,假设排名分别是1,2,3,那么给这三个模型赋予的权值分别是3/6、2/6、1/6。方法看似简单,其实后面的高级算法也可以说是基于此而产生的,Bagging或者Boosting都是一种把许多弱分类器这样融合成强分类器的思想

2)投票融合

对于一些分类问题,可以采用投票的方法。例如在二分类问题中,已建立三个模型,便可以通过三者投票的方式,投票最多的为最终分类。

3.2 Stacking/Blending模型

1)Stacking

该模型是模型融合常用方法,本质上是一种分层的结构。重点是在第一层中,如何用基学习器生成新特征,包含训练数据集的新特征和测试数据集的新特征。

第一步:训练数据集新特征的生成。若直接在训练数据集中对基学习器进行训练,然后用输出作为新特征,容易造成过拟合。所以为了减少过拟合的影响,可以采取K-Folds的方式生成新特征。其过程如下图所示:

stacking训练数据集新特征生成

第二步:测试数据集新特征的生成。在上面的K-Folds方法中,每一次在训练集上得到基学习器后,就对测试数据集test进行预测,然后对K次的预测结果求平均,就得到了test上的新特征,如下图:

stacking测试数据集新特征生成

第三步:得到新的训练集和测试集后,在此基础上再进行第二层训练。

2)Blending

该模型必须将训练集分为2个部分,train1为训练基学习器,train2的预测值作为训练集的新特征,test的预测值作为测试集的新特征。

blending模型

3)两者对比
  • Stacking更复杂,需要进行经过K-Fold生成新特征,而Blending相对简单;

  • Stacking通过K-Fold会更稳定,而Blending使用的数据更少,更容易过拟合。

3.2 Boosting/Bagging模型

Bagging和Boosting都是ensemble learing 中的学习框架,所以并不能认为其是一种具体算法,而是两种不同的学习思想。

1)Boosting

Boosting的思想是通过若干个弱分类提高算法准确度。这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数。Boosting是一种提高任意给定学习算法准确度的方法。

Boosting的特点是各个学习器之间有依赖关系。

2)Bagging

Bagging(Bootstrap aggregation)由Leo Breiman提出,其具体内容:从数据集有放回的随机抽取样本,生成多个自助样本集,每个自助样本集大小与原数据集一致,因此一些样本可能在同一个自助样本集中出现多次。对每个自助样本集训练一个基学习器,常用的基学习器为二元决策树,因为对于有复杂决策边界的问题,二元决策树性能不稳定,这种不稳定可以通过组合多个决策树模型来客服。最终,对于回归问题,结果为基学习器均值,对于分类问题,结果是从不同类别所占的百分比引申出来的各类别概率或均值。

在这里插入图片描述

另外,随机森林(Random Forest,RF)也运用的是Bagging的思想。

References:

  1. https://zhuanlan.zhihu.com/p/25836678
  2. https://cloud.tencent.com/developer/article/1463294
  3. https://cloud.tencent.com/developer/article/1085438
  4. https://cloud.tencent.com/developer/article/1024314
  5. https://cloud.tencent.com/developer/article/1146345
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值