[深度学习] 模型集成方法

2023-11-17

模型集成方法

集成学习(ensemble learning)是机器学习中一类学习算法,值训练多个学习器并将它们组合起来使用的方法。这类算法通常在实践中会取得比单个学习器更好的预测结果。

数据层面的集成方法

在训练阶段的数据扩充在测试阶段仍然使用。 诸如图像多尺度, 随机扣取等。以随机扣取为例, 对某张测试图片可得到n 张随机扣取图像,测试阶段只需要用训练好的深度网络模型对n张图分别做预测, 之后将预测的各类置信度平均作为该测试图像最终预测结果即可。

简易集成法

简易集成法是Liu 等人提出的针对不平衡样本问题的一种集成学习解决方案, 具体来说,简易集成法对于样本较多的类采取降采样,每次采样数根据样本数目最少的类别而定,这样,每类取到的样本数可保持均等。 采样结束后, 针对每次采样得到的子数据集训练模型, 如此采样, 训练,反复多次。最后, 对测试数据的预测则根据训练得到若干模型的结果取平均值或投票得出。 总结, 简易集成法在模型集成的同时,还能缓解数据不平衡带来的问题。

模型层面的集成方法

单模型集成

多层特征融合

多层特征融合是针对单模型的一种模型层面的集成方法。 由于深度卷积神经网络特征具有层次性的特点, 不同层特征富含的语义信息可以相互补充, 在图像语义分割, 细粒度图像检索,基于视频的表象性格分析等任务中常见的多层特征融合策略的使用。一般的,多层特征融合操作时可将不同层网络特征级联。而对于特征融合应选取哪些网络层,一个实践经验是:最好使用靠近目标函数的几层卷积特征。因为越深层特征包含的高层语义越强,分辨力也会越强。相反, 网络较浅层的特征较普使, 用于特征融合可能起不到作用,或者甚至会起到相反作用。

网络快照集成法 (snapshot ensemble)

深度神经网络模型复杂的解空间存在非常多的局部最优解, 但经典的随机梯度下降方法只能让网络模型收敛到其中一个局部最优解。 网络快照便利用了网络解空间中这些局部最优解来对单个网络做模型集成。 通过循环调整网络的学习率可使网络依次收敛到不同的局部最优解。
这里写图片描述
最左侧图为传统SGD法, 中间为快照集成法的收敛示意图。 右图为两方法在CIFAR-10数据集上的收敛曲线对比。

具体而言, 网络快照法是将学习率 η η 设置为随模型迭代轮数 t t (iteration,即一次批处理随机梯度下降称为一个迭代轮数)改变的函数,即:

η(t)=η02(cos(πmod(t1,[T/M])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[深度学习] 模型集成方法 的相关文章

  • C++代码注释详解

    常用注释语法 注释写在对应的函数或变量前面 JavaDoc类型的多行注释风格如下 这里为注释 一般注释中有简要注释和详细注释 简要注释有多种标识方式 这里推荐使用 brief命令强制说明 例如 brief 这里为简要注释 这里为详细注释 b
  • 正确使用g2o各类线性方程求解器

    g2o LinearSolverEigen g2o LinearSolverDense g2o LinearSolverCSparse g2o LinearSolverCholmod是常用的线性方程求解器 一套可运行程序 包括不同梯度下降优
  • Python中的异常处理raise介绍

    文章目录 0 介绍 1 raise 介绍 案例 2 raise 不需要参数 案例 3 raise 单独一个 raise 正常程序使用无参的 raise 4 其它案例 4 1 案例1 4 2 案例2 5 处理流程 总结 0 介绍 问题1 是否
  • eslint 搭配 vscode 的简单使用

    前言 刚开始时 由于嫌麻烦 并没有安装eslint 最近在新的项目上使用了eslint再配合vscode的插件 真是爽的不要太爽 因此打算写一篇简单的食用说明来记录食用过程 前期准备 没啥好准备的 作为开发肯定是具备yarn和node的 编
  • WINDOWS键盘钩子

    最近有个需求做的时候碰到需要捕获某个程序的特定按键并且在该程序处于焦点并且按下特定键 如F1 时让主板的蜂鸣器响一声以提示 由于该程序没有源码 因此只能通过编写服务挂全局钩子来对该程序的键盘消息进行捕获 大致的代码结构是使用VC现编写了一个
  • Linux Debian上快速安装Docker并运行

    要在Debian上安装Docker 可以按照以下步骤进行 更新系统软件包 在终端中执行以下命令 更新系统软件包 sudo apt get update 安装依赖包 在终端中执行以下命令 安装Docker需要的依赖包 sudo apt get
  • Echarts折线图x轴刻度距离

    在 ECharts 折线图中 x 轴刻度的距离是根据数据的数量和实际绘图区域的宽度来确定的 ECharts 会根据数据的数量自动计算出 x 轴上每个刻度之间的距离 以适应绘图区域的宽度 如果希望手动设置 x 轴刻度的距离 可以使用以下两种方

随机推荐

  • 解决PowerDesigner里允许字段重名约束的设置问题

    让tomcat支持中文路径名 将conf server xml中的
  • mfc入门基础(六)创建模态对话框与非模态对话框

    参考博客 VS2010 MFC编程入门之十一 对话框 模态对话框及其弹出过程 软件开发 鸡啄米 一 创建模态对话框 1 接着上节中的test02的例子来讲 找到test02 cpp文件 找到函数InitInstance 然后 因为上节我们实
  • setuptools清华源_setuptools与pip的依赖关系解决方案之间的差异

    我最近开始用SetupTools打包我的第一个项目 并且大部分都取得了成功 setuptools与pip的依赖关系解决方案之间的差异 不幸的是 我遇到了一个令人困惑的情况 我的项目依赖于PyPI上没有的单个文件模块 我已经能够使用depen
  • RandLA-Net结果可视化(将结果保存到本地再通过cloudcompare可视化)

    RandLA Net结果可视化 将结果保存到本地再通过cloudcompare可视化 问题 RandLA Net官网提供代码的可视化部分是通过open3d的方式呈现的 但如果使用远端服务器去跑 可能就无法实现可视化 或者当我们的需要可视化的
  • 卷积神经网络及其在图像处理中的应用

    一 前言 卷积神经网络 Constitutional Neural Networks CNN 是在多层神经网络的基础上发展起来的针对图像分类和识别而特别设计的一种深度学习方法 先回顾一下多层神经网络 多层神经网络包括一个输入层和一个输出层
  • Linux framebuffer显示bmp图片

    帧缓冲 framebuffer 是Linux为显示设备提供的一个接口 把显存抽象后的一种设备 他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作 framebuffer是LCD对应的一种HAL 硬件抽象层 提供抽象的 统一的接口操作
  • Zabbix的web界面基本操作

    Zabbix的web界面基本操作 一 查看客户端运行状态 1 查看客户端监听端口 2 查看客户端服务及进程 二 服务端状态检查 1 服务端端口监听 2 查看客户端的hostname获取情况 三 zabbix的web网页基本配置 1 登录查看
  • VisualStudio中添加LIb库、头文件、宏等常用配制

    在VS工程中 添加c c 工程中外部头文件及库的基本步骤 1 添加工程的头文件目录 工程 属性 配置属性 c c 常规 附加包含目录 加上头文件存放目录 2 添加文件引用的lib静态库路径 工程 属性 配置属性 链接器 常规 附加库目录 加
  • 深度强化学习入门:用TensorFlow构建你的第一个游戏AI

    本文通过一种简单的 Catch 游戏介绍了深度强化学习的基本原理 并给出了完整的以 Keras 为前端的 TensorFlow 代码实现 是入门深度强化学习的不错选择 GitHub 链接 https github com JannesKla
  • Java 内存模型及GC原理

    一个优秀Java程序员 必须了解Java内存模型 GC工作原理 以及如何优化GC的性能 与GC进行有限的交互 有一些应用程序对性能要求较高 例如嵌入式系统 实时系统等 只有全面提升内存的管理效率 才能提高整个应用程序的性能 本文将从JVM内
  • Windows11镜像网盘链接

    Windows11镜像 大小10 39G 自己用于M1芯片的mac装虚拟机 网盘链接放入 有需要的朋友自取 链接 https pan baidu com s 1xBjGPq74 FKiEK MgIFTpA 提取码 3jw3
  • matlab自动输出数据到excel文件的指定单元格

    matlab自动输出数据到excel文件的指定单元格 转载 https blog csdn net txcokokok article details 41969793 使用matlab自带的 xlswrite 命令 格式 xlswrite
  • 八大排序算法之选择排序

    选择排序 选择排序 Selection sort 是一种简单直观的排序算法 它的工作原理是每一次从待排序的数据元素中选出最小 或最大 的一个元素 存放在序列的起始位置 直到全部待排序的数据元素排完 选择排序是不稳定的排序方法 比如序列 5
  • Ubuntu_Crontab

    Ubuntu Crontab BasicUsage 编辑定时任务 crontab e 显示定时任务 crontab l 定时任务不执行的解决方案 首先手动执行定时任务命令 排查是否任务本身是否出问题 没问题的话 去日志中看 crontab日
  • C - C语言实验——求两个整数之中较大者

    Description 输入两个整数 请编程求其中的较大者 Input 在一行中输入用空格隔开的两个整数 例如5 9 Output 输出两个整数之中较大者 输出形式举例 max 9 Sample Input 5 9 Output max 9
  • 编程任务

    任务源自旧版的Brilliant数学讨论问题 2019 09 02我曾经发布过 可惜已经下线 幸活大喵做足备份 该问题看似是概率问题 实则不然 官方给出的解法透露出一个非常重要的数学思维方法 数学语言 为何以及如何构造一个函数 f n 运用
  • 互联网公司MySQL数据库采用读已提交的隔离级别原因

    开始我们的内容 相信大家一定遇到过下面的一个面试场景 面试官 讲讲mysql有几个事务隔离级别 你 读未提交 读已提交 可重复读 串行化四个 默认是可重复读 面试官 为什么mysql选可重复读作为默认的隔离级别 你面露苦色 不知如何回答 面
  • SAR ADC基本原理学习

    今天我们来学习SAR ADC喽 逐次逼近寄存器型模数转换器 Successive Approximation Analog to Digital Converter 是一种常用的A D转换结构 其较低的功耗表现 还不错的转换速率 在有低功耗
  • Shiro错误之No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util

    提示 No SecurityManager accessible to the calling code either bound to the org apache shiro util ThreadContext or as a vm
  • [深度学习] 模型集成方法

    模型集成方法 集成学习 ensemble learning 是机器学习中一类学习算法 值训练多个学习器并将它们组合起来使用的方法 这类算法通常在实践中会取得比单个学习器更好的预测结果 数据层面的集成方法 在训练阶段的数据扩充在测试阶段仍然使