CNN学习笔记(8)---模型集成方法

Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN 1. 概述         回想一下BP神经网络。BP网络每一层节点是一个线性的一维排列状态,层与层的网络节点之间是全连接的。这样设想一下,如果BP网络中层与层之间的节点连接不再是全连接,而是局部连接的。这样,就是一种最简单的一维卷积网络。如果我们把上述这个思路扩展到二维,这就是我们在大多数参考资料上看到的卷积神经网络。具体参看下图: 阅读详情

13.模型集成方法

深度模型的集成多从“数据层面”和“模型层面”两方面着手

13.1 数据层面的集成方法

13.1.1 测试阶段数据扩充

训练阶段的数据扩充手段:图像多尺度,随机扣取

等都可以用到测试阶段

以随机扣取为例,对某张测试图像可得到 n 张随机扣取图像,

测试阶段只需用训练好的深度网络模型对 n 张图分别做预测,之后将预测

的各类置信度平均作为该测试图像最终预测结果即可

13.1.2 “简易集成”法(easy ensemble)

针对不平衡样本问题的一种集成学习方法

“简易集成”法对于样本较多的类采取降采样,

每次采样数依照样本数目最少的类别而定,这样每类取到的样本数可保持均等。

采样结束后,针对每次采样得到的子数据集训练模型,如此采样、训练反复进行多次。

最后对测试数据的预测则依据训练得到若干个模型的结果取平均或投票获得

13.2 模型层面的集成方法

13.2.1 单模型集成
1.多层特征融合

针对单模型的一种模型层面集成方法

深层卷积神经网络特征具有层次性

不同层特征富含的语义信息可以相互补充

多层特征融合操作时可直接将不同层网络特征级联(concatenate)

最好使用靠近目标函数的几层卷积特征,因为愈深层特征包含的高层语义性愈强、分辨能力也愈强;

2.网络“快照”集成法(snapshot ensemble)

深度神经网络模型复杂的解空间中存在非常多的局部最优解

经典的SGD方法只能让网络模型收敛到其中一个局部最优解

snapshot ensemble 通过循环调整网络学习率(cyclic learning rate schedule)使网络依次收敛到不同的局部最优解

将网络学习率 η η 设置为随模型迭代轮数 t t 改变的函数

η(t)=η02(cos(πmod(t−1,⌈T/M⌉)⌈T/M⌉)+1)

η0 η 0 : 初始学习率,一般设为0.1,0.2

t: 模型迭代轮数,mini-batch 批处理训练次数

T:模型总的批处理训练次数

M:学习率 循环退火(cyclic annealing) 次数,对应模型将收敛的局部最优解个数

利用cos函数的循环性来循环更新网络学习率

当经过“循环余弦退火”对学习率的调整后,每个循环结束可使模型收敛到一个不同的局部最优解

每个循环结束后保存的模型,称之为模型快照

一般挑选最后m个模型“快照”用于集成

13.2.2 多模型集成
多模型生成策略
  • 同一模型不同初始化:特别针对小样本学习场景
  • 同一模型不同训练轮数:“轮数集成”,将最后几轮训练模型结果做集成,一方面降低随机误差;一方面避免了训练轮数过多带来的过拟合风险
  • 不同目标函数:

    • 分类任务为例:“交叉熵损失函数”、“合页损失函数”、“大间隔交叉熵损失函数”、“中心损失函数”作为目标函数分别训练模型;

    • 在预测阶段,既可以直接对不同模型预测结果做“置信度级别”(score level)的平均或投票,

    • 也可以做“特征级别”(feature level)的模型集成:将不同网络得到的深度特征抽出后级联作为最终特征,之后离线训练浅层分类器(如SVM),完成预测任务

    • 不同网络结构:在不同网络架构上训练模型,最后将不同网络架构结果做以集成

多模型集成方法

四种最常用的多模型集成方法

假设共有N个模型待集成,对某测试样本 x x ,其预测结果为N个C维向量,(C为数据的标记空间大小):s1,s2,⋯,sN

  • 直接平均

直接平均不同模型产生的类别置信度得到最后预测结果

Final score=∑Ni=1siN F i n a l   s c o r e = ∑ i = 1 N s i N

  • 加权平均

在直接平均法基础上加入权重

调整不同模型输出的重要程度

Final score=∑Ni=1wisiN F i n a l   s c o r e = ∑ i = 1 N w i s i N

wi w i 作为第i个模型的权重,需满足:
wi≥0 and ∑i=1Nwi=1 w i ≥ 0   a n d   ∑ i = 1 N w i = 1

高准确率的模型权重较高,低准确率模型可设置稍小权重

  • 投票

多数表决法(majority voting)

将各自模型返回的预测置信度 si s i 转化为预测类

若某预测类别获得一半以上模型投票,则该样本预测结果为该类别;

若对该样本无任何类别获得一半以上投票,则拒绝作出预测(称为”rejection option”)

相对多数表决法(plurality voting)

选择投票数最高的类别作为最后预测

一定会返回某个类别

  • 堆叠(stacking)

又称”二次集成法”,高阶的集成学习方法

样本 x x 作为学习算法或网络模型的输入,si作为第 i i 个模型的类别置信度输出,整个学习过程记作一阶学习过程(first-level learning)

Stacking 是以一阶学习过程的输出作为输入,展开二阶学习过程(second-level learning)

元学习(meta learning)

置信度可以级联作为新的特征表示。

之后基于这样的”特征表示”训练学习器将其映射到样本原本的标记空间。

此时的学习器可以为任何算法习得的模型

有较大过拟合风险

参考文献:解析卷积神经网络—深度学习实践手册

基于CNN卷积神经网络手写数字识别模型 基于CNN手写数字识别模型训练一、CNN(卷积神经网络)简介二、实验设计实验结果最终代码 一、CNN(卷积神经网络)简介 1.1 卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,在图像处理和识别的方向上取得很大的成就,本文只要进行的是基于CNN卷积神经网络的数字识别模型训练。 1.2 卷积神经网络结构:输入层——隐藏层——输出层,其中隐藏层包括卷积层(Convolution)、池化层(Pooling)、全连接层(Dense),其结构基本如下 二、实验设计 2.1 实验 阅读详情

相关推荐

(8-3)基于神经网络的推荐模型:基于卷积神经网络(CNN)的推荐模型

基于卷积神经网络(CNN)的推荐模型是一种利用CNN结构来进行推荐任务的方法。通常情况下,CNN被广泛用于图像处理领域,但是它们也可以用于推荐系统中,特别是在处理用户-物品关系的情况下。

码农三叔 2738

easy ensemble 算法和balance cascade算法

看了一下easy ensemble 算法的matlab代码,发现之前的理解有问题从上面的伪代码可以看出,easy ensemble每次从多数类中抽样出和少数类数目差不多的样本,然后和少数类样本组合作为训练集。在这个训练集上学习一个adaboost分类器。 最后预测的时候,是使用之前学习到的所有adaboost中的弱分类器(就是每颗决策树)的预测结果向量(每个树给的结果组成一个向量)和对应的权重向量

march_on的专栏 2万+

14种模型设计帮你改进你的卷积神经网络(CNN)

自2011年以来,深度卷积神经网络(CNN)在图像分类的工作中的表现就明显优于人类,它们已经成为在计算机视觉领域的一种标准,如图像分割,对象检测,场景标记,跟踪,文本检测等。 但,想要熟练掌握训练神经网络的能力并不是那么容易。与先前的机器学习思维一样,细节决定成败。但是,训练神经网络有更多的细节需要处理。你的数据和硬件有什么限制?你应该是从何种网络开始?你应该建立多少与卷积层相对的密集层?你的激...

jiangziya1221的博客 6636

EasyEnsemble和BalanceCascade算法

不平衡样本分类问题 不平衡样本如:标签为1的样本远远少于标签为0的样本 常见的解决方法有:欠采样、过采样、欠采样与过采样结合、使用带标签权重的模型、SMOTE算法,下面介绍两种其他方法 easyensemble: 将bagging与Adaboost的方法结合起来的一种集成学习算法: (1)bagging体现于:每一次采样都使用Boosting的采样方法(bootstrap)对多数类(数量较多的类)样本集进行采样,使其样本数等于少数类 (2)Adaboost体现于:将多数类采样得到的样本集与少数类的样本集的全

qq_36742348的博客 6307

三、卷积神经网络(CNN)数据驱动模型

卷积神经网络(CNN)数据驱动模型 4.1 CNN算法原理 卷积神经网络(CNN)是一种前馈神经网络,通常包含数据输入层、卷积计算层、ReLU激活层、池化层、全连接层(INPUT-CONV-RELU-POOL-FC),是由卷积运算来代替传统矩阵乘法运算的神经网络。卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。同时在一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩

记录自己的成长 3810

卷积神经网络(CNN)学习笔记3:Matlab代码理解

近期正在学习卷积神经网络,大致的原理在之前参考前辈们经验,转载的两个笔记中已经做了简要梳理,下边就Github中的DeepLearnToolbox中的CNN的代码进行理解和实现讲解 参考代码来源:[CNN卷积神经网络的Matlab实现](https://github.com/rasmusbergpalm/DeepLearnToolbox) 网络结构图: 打开路径\tests\test_exampl

冰凝凝的专栏 2万+

EasyEnsemble算法浅谈

总结一下: EasyEnsemble算法用途:解决数据的不均衡问题。 目前,对于数据不均衡问题,多使用采样的方法,包括过采样(上采样)和欠采样(下采样)以及混合采样,其中 欠采样简单地说就是从多数类样本中抽取样本,使得抽取的样本数与少数类样本相等,从而达到数据均衡。常见的欠采样有随机欠采样、ENN等; 过采样即增加少数类样本,使得少数类样本数与多种类样本相等,从而实现样本均衡,常见的过采样包括随机过采样、SMOTE过采样等 但实际上,根据文献指出,欠采样方法优于过采样方法, 但该方法的缺点也很明

积一时之步,臻千里之遥程 5950

nndl05_卷积神经网络(CNN)

卷积神经网络(CNN) 此文章仅为本人学习笔记,侵权删,有错误的地方也希望各位大佬指出 题目来自于 https://github.com/nndl/nndl.github.io 问题描述: 利用卷积神经网络,实现对MNIST 数据集的分类问题。 数据集: MNIST数据集包括60000张训练图片和10000张测试图片。图片样本的数量已经足够训练一个很复杂的模型(例如 CNN的深层神经网络)。它经常被用来作为一个新 的模式识别模型的测试用例。而且它也是一个方便学生和研究者们执行用例的数据集。除此之外,MNIS

qq_41273406的博客 5944

样本不平衡问题处理方式

- 为什么样本不平衡时会出现问题 - 样本不平衡的处理方式 - 样本不平衡时算法的评价指标

Explore 3935

卷积神经网络CNN

本文学习笔记的部分内容参考zouxy09的博客,谢谢!http://blog.youkuaiyun.com/zouxy09/article/details/8775360 什么是卷积 卷积如果改名为“加权平均积”,就会很好理解了。卷积的离散形式就是常用的加权平均,而连续形式则可理解为对连续函数的加权平均。假如我们观测或计算出一组数据,但数据由于受噪音的污染并不光滑,我们希望对其进行人工处理。那么,

qustqustjay的专栏 5291

详解easyensemble算法,解决数据正负例样本不平衡问题

详解easyensemble算法,解决数据正负例样本不平衡问题

基于卷积神经网络(CNN)模型的肺炎诊断系统

本文主要基于kaggle数据集(胸部X射线照片)进行肺炎疾病的识别与预测。主要将探索两部分内容: 一是:通过训练深度学习模型(多层CNN模型),使CNN能够根据患者胸部的X射线图像检测患者是否患有肺炎疾病。 二是:通过flask构建web系统,使其加载训练好的神经网络模型能够使其实时进行图像检测,以应用深度学习方法(CNN)进行肺炎的检测。 背景 肺炎给人类的健康生...

haosen 1万+

R3LIVE 1.0 适配 Velodyne 16线雷达:3步配置解决150米漂移问题

本文详细解析了R3LIVE 1.0适配Velodyne 16线雷达时出现的150米漂移问题,并提供三步配置方案。通过调整雷达类型设置、运动补偿与时间对齐、视觉-激光联合优化等关键参数,有效解决了系统漂移问题,提升定位精度。适用于机器人定位与建图领域的开发者。

weixin_29054195的博客 269

卷积神经网络CNN以及几种经典模型

简介 CNN -> Convolutional Neural Network 卷积神经网络是由一个或多个卷积层和顶端的全连通层(也可以使用1x1的卷积层作为最终的输出)组成的一种前馈神经网络 基本概念 局部感受野(Local Receptive Fields) 一般的神经网络往往会把图像的每一个像素点连接到全连接的每一个神经元中,而卷积神经网络则是把每一个隐藏节点只连接到图像的某个局部区...

Tiiktak‘s 6862

Copula函数

Copula是处理统计中随机变量相关性问题的一种方法。本文是对Copula函数的各种定义,Copula函数的思想,Copula函数的性质,Copula函数的类型等理论资料总结

Explore 5万+

(入门向)在Ubuntu22.04.3安装Matlab2021b,以及无法安装在当前目录下的解决办法(见最后)

还有这个/usr/local是只读状态,我试过sudo chmod..去改那个文件的读,结果还是安装不了,我不是这个默认路径,因为它文件夹还是只读,于是我在matlab2021b下创了一个bin,并选上。输入完成后,依次按y,因为里面有三个文件,他会让你确定3次密码,直接yyy跳过即可。你可能会遇到装不下的情况,这个软件占30g,可是你分配给虚拟机就剩10g。,于是我去Downloads下建了一个matlab2021b文件夹,果然好使,3).此时,会提示你输入密码,因为这个rar是有密码的,

harrype的博客 7285

基于卷积神经网络(CNN)的数据回归预测

卷积神经网络(Convolutional Neural Networks, CNN)是包含卷积计算且具有深度结构的前馈神经网络,主要由三部分组成:卷积层、池化层和全连接层,其基本型的完整架构展示具体结构如图1所示。图1 卷积神经网络示意图。

yuchunyu12的博客 1万+

windows版kafka异常java.nio.file.FileSystemException另一个程序正在使用此文件,进程无法访问

环境 现象 原因 解决方法 参考

山水牧羊 3847

卷积神经网络 CNN 模型介绍

卷积神经网络 CNN 模型介绍。通过结合经典模型优势与交通标志特性改进,可显著提升复杂路况下的识别鲁棒性。

m0_66434421的博客 2139

C++动态规划详解

动态规划思想 一、动态规划概念: 动态规划(dp)是研究多步决策过程最优化问题的一种数学方法。在动态规划中,为了寻找一个问题的最优解(即最优决策过程),将整个问题划分成若干个相应的阶段,并在每个阶段都根据先前所作出的决策作出当前阶段最优决策,进而得出整个问题的最优解。即记住已知问题的答案,在已知的答案的基础上解决未知的问题。 在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后

weixin_51951103的博客 2万+

Apple CarPlay Certification Guide December 2022 解析V1.0

Apple CarPlay Certification Guide December 2022更新说明

m0_74450450的博客 703

卷积神经网络CNN学习笔记(一文搞定CNN)

卷积神经网络CNN学习笔记 文章目录卷积神经网络CNN学习笔记说在前面1. 什么是卷积?2. 非线性激活Relu3. Pooling 池化层4. 全连接层5. 对比卷积层核全连接层6. CNN的反向传播7. CNN的训练8. 总结CNN整个训练过程结尾 说在前面 首先给大家推荐一个可视化CNN整个过程的网站,https://poloclub.github.io/cnn-explainer/,这个是2021年IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GR

WD 2245

从登录到应用可见:在 SAP S/4HANA Cloud Private Edition 中创建用户与打通 SAP Fiori 权限的完整思路

在SAP S/4HANA系统中,用户创建远非简单的账号开通,而是涉及认证、授权、数据访问等多维度的复杂过程。用户主数据记录(User Master Record)是系统访问的起点,包含登录方式、角色分配等关键信息。认证解决"你是谁"的问题,授权则决定"你能做什么"。SAP Fiori访问链路涉及Launchpad内容分配、应用启动映射、OData服务权限等多层校验。角色(Role)通过PFCG维护,包含业务目录(Catalog)和空间(Space)等元素,共同构成完整

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 149

Python实现PSO粒子群优化卷积神经网络CNN回归模型项目实战

Python实现PSO粒子群优化卷积神经网络CNN回归模型项目实战

张陈亚的博客 5010

PCL 中实现平面模型分割【2026最新版】

RANSAC分割平面。博客长期更新,最近一次更新时间为:2026年5月4日。

点云侠的博客 38万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[神经网络学习笔记]卷积神经网络CNN(Convolutional Neural Networks, CNN) 综述

本人刚入门神经网络,边学习边总结,参考了很多大佬的博客和论文,整理出的自己思路的笔记,供入门的同学一起参考。其中可能有理解错误的地方,望指出 参考主要文献和博客 通俗讲解什么叫卷积、池化 参考资料 -卷积神经网络研究综述-周飞燕 一、常用的深度学习模型有 深度置信网络(Deep Belief Network DBN) 层叠自动去噪编码机(Stacked Deoising Autoencodes,SDA) 卷积神经网络(Convolutional Neural Network,CNN) 二、神经元

BetterBench的博客 6526

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: CNN笔记(7)---不平衡数据的处理(imbalance)
Codename-NC
博客等级 码龄12年 38粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值