美文网首页
Task05: 模型集成

Task05: 模型集成

作者: 英文名字叫dawntown | 来源:发表于2020-06-02 23:45 被阅读0次
  • 一般的集成学习方法
  • 深度学习中的集成方法

0. 在机器学习中的一般集成方法

模型集成即把同一学习任务的多个独立(弱)学习器的学习结果集合起来形成一个新的(强)学习器,完成最后的学习任务。

常见的有Stacking、Bagging和Boosting,以下是他们的一句话介绍:

策略 一句话理解
Stacking 众弱学习器学完了以后的输出作为强学习器的输入再继续学
Bagging 从原数据集中有放回采样出一群新数据集不同弱学习器分别学
Boosting 第一个弱学习器学不好的,给第二个继续学,以此类推并调整各联级学习器的权重

更详细的介绍可以参考这两篇博客和github代码讲解:

1. 深度学习中的集成学习

策略 描述 特点
dropout 在每个训练批次中,通过随机让一部分的节点停止工作。同时在预测的过程中让所有的节点都其作用。 缓解过拟合,预测时增加模型精度
TTA 测试集数据扩增(Test Time Augmentation,简称TTA),在预测时候进行数据扩增,对同一个样本预测三次,然后对三次结果进行平均。 相当于对一张图片进行多角度学习
Snapshot 只训练了一个CNN模型时,使用cyclical learning rate进行训练模型,并保存精度比较好的一些checkopint,最后将多个checkpoint进行模型集成。 模型在不同的局部最优中徘徊,可以提高模型精度但是需要训练更长时间
# dropout,在激活函数后面加一句nn.Dropout(失活神经元比例)就好了
  ...
            nn.Conv2d(16, 32, kernel_size=(3, 3), stride=(2, 2)),
            nn.ReLU(), 
            nn.Dropout(0.25),
            nn.MaxPool2d(2),
  ...

# TTA
def predict(test_loader, model, tta=10):
   model.eval()
   test_pred_tta = None
   # TTA 次数
   for _ in range(tta):
       test_pred = []
   
       with torch.no_grad():
           for i, (input, target) in enumerate(test_loader):
               c0, c1, c2, c3, c4, c5 = model(data[0])
               output = np.concatenate([c0.data.numpy(), c1.data.numpy(),
                  c2.data.numpy(), c3.data.numpy(),
                  c4.data.numpy(), c5.data.numpy()], axis=1)
               test_pred.append(output)
       
       test_pred = np.vstack(test_pred)
       if test_pred_tta is None:
           test_pred_tta = test_pred
       else:
           test_pred_tta += test_pred
   
   return test_pred_tta

其他的一些trick

  • 通过训练集中字符出现频率,修正结果
  • 增加字符长度预测模型,预测字符个数

相关文章

  • Task05: 模型集成

    一般的集成学习方法 深度学习中的集成方法 0. 在机器学习中的一般集成方法 模型集成即把同一学习任务的多个独立(弱...

  • Task05 模型集成

    模型集成其实是在算力允许的情况下,进一步提升模型预测准确性的方法。传统的机器学习中,集成的方法有bagging、b...

  • 5月组队学习05:高维异常检测

    Task05:高维异常检测(3天)● 了解集成方法的思想● 理解feature bagging原理● 掌握孤立森林...

  • Training NN-7-Model Ensembles &a

    关键词:Model Ensembles(模型集成)、Dropout Model Ensembles(模型集成) 训...

  • 《机器学习及实践——从零开始通往KAGGLE竞赛之路》读书笔记八

    集成模型(分类) 模型描述 集成(Ensemble)分类模型便是综合考量多个分类器的预测结果,从而做出决策。这种综...

  • 基于sklearn的集成分类器

    理论 集成模型 集成分类器模型是综合考虑多种机器学习模型的训练结果,做出分类决策的分类器模型 投票式:平行训练多种...

  • 机器学习技巧笔记

    通用模型举隅 排序层 模型集成方法:

  • 机器学习:04. 随机森林之RandomForestClassi

    1. 集成算法 1.1 集成算法是通过在数据上构建多个模型,集成所有模型的建模结果,包括随机森林,梯度提升树(GB...

  • 2.1.2.5集成模型(回归)

    模型介绍:在“2.1.1.6集成模型(分类)”节中,曾经探讨过集成模型的大致类型和优势。这一节除了继续使用普通随机...

  • 模型集成

    数据层面的集成: 测试阶段数据扩充:训练阶段的若干数据扩充策略,实际上,这些 扩充策略在模型测试阶段同样适用,诸如...

网友评论

      本文标题:Task05: 模型集成

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