美文网首页
模型融合

模型融合

作者: SKIIoooJyl | 来源:发表于2020-04-04 21:47 被阅读0次

简单加权融合

对于一个给定的网络结构,每一种不同的权重组合将得到不同的模型。因为所有模型结构都有无限多种权重组合,所以将有无限多种组合方法。
训练神经网络的目标是找到一个特别的解决方案(权重空间中的点),从而使训练集和测试集上的损失函数的值达到很小。

回归

对于回归问题,一个简单直接的思路是取平均。稍稍改进的方法是进行加权平均。
这两种方法看似简单,其实后面的高级算法也可以说是基于此而产生的,Bagging或者Boosting都是一种把许多弱分类器这样融合成强分类器的思想。

  • 算术平均融合(Arithmetic mean)
  • 几何平均融合(Geometric mean)

分类

  • 投票(Voting)
    分为软投票和硬投票两种,其原理采用少数服从多数的思想。
    • 硬投票:
      对多个模型直接进行投票,不区分模型结果的相对重要度,最终投票数最多的类为最终被预测的类。
    • 软投票:
      增加了设置权重的功能,可以为不同模型设置不同权重,进而区别模型不同的重要度

综合

  • 排序融合(Rank averaging)
  • log融合

stacking/blending

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

stacking

当用初始训练数据学习出若干个基学习器后,将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。


将个体学习器结合在一起的时候使用的方法叫做结合策略。对于分类问题,我们可以使用投票法来选择输出最多的类。对于回归问题,我们可以将分类器输出的结果求平均值
在stacking方法中,我们把个体学习器叫做初级学习器,用于结合的学习器叫做次级学习器或元学习器(meta-learner),次级学习器用于训练的数据叫做次级训练集。次级训练集是在训练集上用初级学习器得到的。
算法示意图

blending

其实和Stacking是一种类似的多层模型融合的形式

  • 主要思路
    把原始的训练集先分成两部分,比如70%的数据作为新的训练集,剩下30%的数据作为测试集。
    1.第一层,在这70%的数据上训练多个模型,然后去预测那30%数据的label,同时也预测test集的label。
    2.第二层,直接用这30%数据在第一层预测的结果做为新特征继续训练,然后用test集第一层预测的label做特征,用第二层训练的模型做进一步预测。
  • 优点
    1.比stacking简单(因为不用进行k次的交叉验证来获得stacker feature)
    2.避开了一个信息泄露问题:generlizers和stacker使用了不一样的数据集
  • 缺点
    1.使用了很少的数据(第二阶段的blender只使用training set10%的量)
    2.blender可能会过拟合
    3.stacking使用多次的交叉验证会比较稳健

boosting/bagging

多树的提升方法

boosting

Bagging算法可以并行处理,而Boosting的思想是一种迭代的方法,每一次训练的时候都更加关心分类错误的样例,给这些分类错误的样例增加更大的权重,下一次迭代的目标就是能够更容易辨别出上一轮分类错误的样例。最终将这些弱分类器进行加权相加。

bagging

Bagging就是采用有放回的方式进行抽样,用抽样的样本建立子模型,对子模型进行训练,这个过程重复多次,最后进行融合。大概分为这样两步:
1.重复K次
有放回地重复抽样建模
训练子模型
2.模型融合

Bagging算法不用我们自己实现,随机森林就是基于Bagging算法的一个典型例子,采用的基分类器是决策树。

总结

模型融合涉及多个层面:

  • 结果层面的融合
    最常见的融合方法,可行的融合方法很多,比如根据结果得分进行加权融合,做Log,exp处理等。在做结果融合的时候,有一个很重要的条件是模型结果的得分要比较近似,然后结果的差异要比较大,这样的结果融合往往有比较好的效果提升。
  • 特征层面的融合
    准确说可以叫分割,很多时候如果我们用同种模型训练,可以把特征进行切分给不同的模型,然后在后面进行模型或者结果融合有时也能产生比较好的效果。
  • 模型层面的融合
    模型层面的融合可能就涉及模型的堆叠和设计,比如加Staking层,部分模型的结果作为特征输入等。这些就需要多实验和思考了,最好不同模型类型要有一定的差异,用同种模型不同的参数的收益一般是比较小的。

相关文章

  • 推荐系统陈开江 - C6 模型融合

    哪几个部分?一阶模型融合,线性模型树模型二阶模型融合,FM高阶模型融合,Wide and Deep 1 线性模型和...

  • rf、adaboost、gbdt

    一:模型融合 模型融合又叫集成学习,由若干弱模型合成强模型。即每个分类器都是欠拟合的 二:模型三要素 2.1:模型...

  • 8.Model_ensemble_basics

    1模型融合 1.1载入数据 1.2 投票器模型融合(VotingClassifier) 1.3 Bagging 1...

  • 模型融合

    Code: https://github.com/SimonLliu/DGB_AlphaTeam 在本次比赛中,一...

  • 模型融合

    1.blending 比如数据分成train和test,对于model_i(比如xgboost) ,即对所有的数据...

  • 模型融合

    简单加权融合 回归: 算术平均融合(Arithmetic mean) 加权算术平均法 几何平均融合(Geometr...

  • 模型融合

    1.Voting 投票法针对分类模型,多个模型的分类结果进行投票,少数服从多数。除了公平投票外,还可以给投...

  • 模型融合

    前言 最近在学习模型融合的知识,因为很早之前就听说在比赛中模型融合很有用,而我正好在参加一个比赛,于是就深入学习了...

  • 模型融合

    等待更新

  • 模型融合

    一、模型融合的方式主要是有三种:1.bagging (随机森林模型是基于bagging融合的代表)2.boosti...

网友评论

      本文标题:模型融合

      本文链接:https://www.haomeiwen.com/subject/hulsphtx.html