数据挖掘组队学习-金融风控0基础入门-Task5

金融风控0基础入门-Task5 模型融合

模型融合

模型融合是把强分类器进行强强联合,变得更强。进行融合时,所需的集成个体(就是用来集成的模型)应该好而不同。好指的是个体学习器的性能要好,不同指的是个体模型的类别不同。
模型融合的方式如下:
平均:

  1. 简单平均法
  2. 加权平均法

投票:

  1. 简单投票法
  2. 加权投票法

综合:

  1. 排序融合
  2. log融合

stacking:

  1. 构建多层模型,并利用预测结果再拟合预测。

blending:

  1. 选取部分数据预测训练得到预测结果作为新特征,带入剩下的数据中预测。

boosting/bagging

回归

对于回归任务来说,采用的为
平均法(Average):

  • 简单平均:
    H ( x ) = 1 / T ∑ i = 1 T h i ( x ) H(x) = 1/T\sum_{i=1}^{T} {h_i} (x) \text {} H(x)=1/Ti=1Thi(x)
  • 加权平均:
    H ( x ) = 1 / T ∑ i = 1 T α i h i ( x ) ; α i > = 0 ; s u m i = 1 T α i H(x) = 1/T\sum_{i=1}^{T} {α_i}{h_i} (x);α_i>=0;sum_{i=1}^{T} {α_i} \text {} H(x)=1/Ti=1Tαihi(x);αi>=0;sumi=1Tαi

分类

对于分类任务来说,可以使用投票的方法:
简单投票法:
H ( x ) = C a r g m i n ( x ) ∑ i = 1 T h i j ( x ) H(x) = C_{argmin(x)} \sum_{i=1}^{T} {h_i^j} (x) \text {} H(x)=Cargmin(x)i=1Thij(x)

即各个分类器输出其预测的类别,取最高票对应的类别作为结果。若有多个类别都是最高票,那么随机选取一个。
加权投票法:
H ( x ) = C a r g m i n ( x ) ∑ i = 1 T α i h i j ( x ) H(x) = C_{argmin(x)} \sum_{i=1}^{T}{α_i} {h_i^j} (x) \text {} H(x)=Cargmin(x)i=1Tαihij(x)

和上面的简单投票法类似,不过多了权重αi,这样可以区分分类器的重要程度,通常
α i > = 0 ; ∑ i = 1 T α i = 1 α_i>=0;\sum_{i=1}^{T}{α_i}=1 αi>=0;i=1Tαi=1

stacking\blending详解

Stacking相比Linear Blending来说,更加强大,然而也更容易过拟合。Stacking做法和Linear Blending类似,首先从数据集中训练出初级学习器,然后”生成“一个新的数据集用于训练次级学习器。为了防止过拟合,采用K折交叉验证法求解。
数据挖掘组队学习-金融风控0基础入门-Task5
blending
与stacking不同,blending是将预测的值作为新的特征和原特征合并,构成新的特征值,用于预测。为了防止过拟合,将数据分为两部分d1、d2,使用d1的数据作为训练集,d2数据作为测试集。预测得到的数据作为新特征使用d2的数据作为训练集结合新特征,预测测试集结果。数据挖掘组队学习-金融风控0基础入门-Task5
Blending与stacking的不同

stacking

  • stacking中由于两层使用的数据不同,所以可以避免信息泄露的问题。
  • 在组队竞赛的过程中,不需要给队友分享自己的随机种子。

Blending

  • 由于blending对将数据划分为两个部分,在最后预测时有部分数据信息将被忽略。
  • 同时在使用第二层数据时可能会因为第二层数据较少产生过拟合现象。

总结

  • 简单平均和加权平均是常用的两种比赛中模型融合的方式。其优点是快速、简单。
  • stacking在众多比赛中大杀四方,但是跑过代码的小伙伴想必能感受到速度之慢,同时stacking多层提升幅度并不能抵消其带来的时间和内存消耗,所以实际环境中应用还是有一定的难度,同时在有答辩环节的比赛中,主办方也会一定程度上考虑模型的复杂程度,所以说并不是模型融合的层数越多越好的。
  • 当然在比赛中将加权平均、stacking、blending等混用也是一种策略,可能会收获意想不到的效果哦!