美文网首页
模型融合

模型融合

作者: 全村希望gone | 来源:发表于2019-09-14 10:56 被阅读0次

前言

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

类型

模型融合常用的方法有以下几种

  • Boosting
  • Bagging
  • Stacking
  • Blending
    我主要看的是Stacking,看了很多篇博客看出了点头绪。

前期准备

一个训练集A,一个测试集B

  • 第一步
    以最基本的两层stacking为例,先对A进行k折交叉验证,每次划分出小的训练集a和小的测试集b,对a进行训练得到一个模型,然后对b进行预测,得到预测结果b1。因为是k折,所以进行k次划分,得到k个相同类型的模型(也就是说同一个模型在训练集上进行k折交叉验证),对k个小测试集预测得到k个预测结果b1-bk,同时这k个模型还要对测试集B进行预测,也得到k个预测结果B1-Bk。stacking往往是由多个不同类型的模型集成的,例如SVM、KNN、LR等,所以对每个模型都要重复上述步骤,假设有n个不同类型的模型,那就会得到n个b1-bk和n个B1-Bk。
  • 第二步
    将每个模型的b1-bk拼接起来得到一个和原训练集A相同维度,只有一列的列向量,然后将这些列向量拼接起来作为第二层模型的训练集,而这个训练集的标签就是原训练集A的标签。将每个模型的B1-Bk也拼接起来然后求平均也得到一个列向量,将这些列向量拼接起来作为第二层模型的测试集。
    如图 stacking图解.png

其它

  • Blending我没有仔细看,但是听说和Stacking类似,网上没找到详解Blending过程的博客,不过经常看到下面这些话 image.png

    所以可能知识对训练集的选取不一样,其余的过程是一样的。

  • bagging和boosting是相同类型模型的集成,而stacking和blending是不同类型模型的集成。 image.png
  • 不知道是我的理解有误还是怎样,这些集成方法好像都只能对结构化数据操作,无法对自然语言操作(我觉得我是在说废话,就算是深度学习也没法直接对自然语言操作啊,也得把它转为字/词向量,所以其实集成方法也是可以对自然语言操作的,你只要把训练集和测试集转为字/词向量的集合就可以了。)

相关文章

  • 推荐系统陈开江 - 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/zqyshctx.html