一文弄清-BP的过拟合与validationCheck

本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com

BP神经网络的训练经常会遇到过拟合的情况,导致模型在训练效果上很好但预测效果差
正因如此,matlab工具箱引入validationCheck来防止BP神经网络走向过拟合
本文介绍过拟合是什么,并讲解validationCheck是如何防止BP神经网络走向过拟合的

目录

一、BP神经网络的过拟合     

1.1 BP神经网络与过拟合

二、 BP神经网络的validationCheck     

2.1 什么是BP神经网络的validationCheck

2.2 BP神经网络-validationCheck的相关设置


一、BP神经网络的过拟合     

本节简单讲解什么是BP神经网络的过拟合

1.1 BP神经网络与过拟合


我们训练BP神经网络主要用于拟合数据,
但是往往出现以下的情况 


上面第二种情况就称为过拟合
可以看到,第二种情况比第一种情况在数据点上拟合得更好
但第二种情况为了强行拟合训练数据,
导致曲线非常跌宕,已经偏离了我们想要的形态
总的来说
过拟合时,模型虽然在训练数据上拟合得更好,
但拟合出的曲线已经偏离了我们想要的形态
过拟合会导致数据在预测上效果非常差


二、 BP神经网络的validationCheck     

本节介绍BP神经网络的validationCheck是什么
并展示与validationCheck相关的设置

2.1 什么是BP神经网络的validationCheck


    我们知道,当过拟合时,未经训练的数据预测效果会较差
为了避免过拟合,matlab会把训练数据预留一部分验证数据
在训练时,会用这部分数据不断测试BP神经网络的预测能力
这个过程就是validationCheck(验证数据检验)


如上图所示,本来已经训练得差不多了,
如果再强行不顾一切拟合训练数据,而使曲线非常跌宕时,
未训练的数据就会预测得非常不准确
因此,加入validationCheck
如果检测到训练数据的效果越来越好
而验证数据的效果越来越差,则说明模型正在走向过拟合   
这时再把训练数据训练得更精准,也没有太大意义
当验证数据连续N次变得更差时,模型就会停止训练


2.2 BP神经网络-validationCheck的相关设置


与validation相关的设置有
👉1. 验证数据的划分             
👉2. validationCheck的步数

关于验证数据的划分
 验证数据的划分由以下参数设置

    net.divideParam.trainRatio   = 0.7;             % 用于训练的数据比例                 
    net.divideParam.valRatio     = 0.15 ;           % 用于验证过拟合的数据比例       
    net.divideParam.testRatio    = 0.15;            % 用于比例          

以上就是matlab工具箱的默认配置,
它代表用15%的数据作为验证数据,
我们可以调整net.divideParam.valRatio参数来控制验证数据的划分占比
但是,修改后别忘了把trainRatio和testRatio也修改一下,使三者的总和为1


validationCheck的步数设置
validationCheck的步数由以下参数设置

net.trainparam.max_fail = 6;    % 过拟合验证失败次数

以上就是matlab工具箱的默认配置,
它代表用失败6次就终止训练


相关文章


《BP神经网络梯度推导》

《BP神经网络提取的数学表达式》

《一个BP的完整建模流程》

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Faster R-CNN是一种目标检测算法,用于在图像中定位和识别物体。它是R-CNN算法的改进版本,通过引入区域提议网络(Region Proposal Network,RPN)来提高检测的速度。 Faster R-CNN的工作流程可以分为两个阶段:区域提议和物体分类。 在区域提议阶段,首先使用卷积神经网络(CNN)对输入图像进行特征提取。然后,RPN通过滑动窗口在特征图上生成一系列候选区域。每个候选区域都有一个边界框(bounding box)和一个预测得分。RPN通过一个二分类器来判断每个候选区域是否包含感兴趣的物体,并根据得分对候选区域进行排序。 在物体分类阶段,对于每个候选区域,使用RoI池化层将其映射为固定大小的特征向量。然后,这些特征向量通过全连接层进行分类和回归,得到每个候选区域的类别预测和边界框坐标调整。 整个网络采用端到端的训练方式,在训练过程中同时优化RPN和分类网络。训练时,通过计算候选区域与真实标注框之间的IoU(交并比)来确定正负样本,并使用多任务损失函数进行优化。 Faster R-CNN相比于R-CNN,通过引入RPN网络实现了端到端的训练,避免了繁琐的候选区域提取过程,大大提高了检测的速度和准确性。同时,Faster R-CNN还可以通过改变RPN的输出尺度来检测不同大小的物体。这使得Faster R-CNN成为目标检测领域的重要方法之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老饼讲解-BP神经网络

请老饼喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值