划分数据以实现最优神经网络训练MATLAB

本文介绍了在MATLAB中训练多层神经网络时数据的典型划分方法,包括训练集、验证集和测试集的用途。通过监控验证集误差来防止过拟合,并探讨了dividerand、divideblock、divideint和divideind四种划分函数及其参数对数据划分的影响,强调了正确划分数据对提升神经网络泛化能力的重要性。
摘要由CSDN通过智能技术生成

划分数据以实现最优神经网络训练MATLAB

本主题介绍典型多层网络工作流的一部分。有关详细信息和其他步骤,请参阅多层浅层神经网络与反向传播训练。多层浅层神经网络与反向传播训练
在训练多层网络时,通常的做法是首先将数据分成三个子集。第一个子集是训练集,用于计算梯度和更新网络权重及偏置。第二个子集是验证集。在训练过程中会监控基于验证集的误差。验证误差通常在训练的初始阶段减小,训练集误差也是如此。然而,当网络开始过拟合数据时,基于验证集的误差通常开始增大。网络权重和偏置以最小的验证集误差保存。这种方法在提高浅层神经网络泛化能力,避免过拟合中进行更详细的讨论。

训练期间不使用测试集误差,但测试集误差用于比较不同模型。在训练过程中绘制测试集误差也很有用。如果测试集误差与验证集误差达到最小值所需的迭代次数显著不同,这可能表示数据集的划分不佳。

可使用四个函数将数据划分为训练集、验证集和测试集。它们是 dividerand(默认值)、divideblock、divideint 和 divideind。数据划分通常在您训练网络时会自动执行。

函数 算法

dividerand 随机划分数据(默认值)

divideblock 将数据划分为连续数据块

divideint 使用交错选择划分数据

divideind 按索引划分数据

您可以使用以下属性访问或更改网络的划分函数:

net.divideFcn

每个划分函数都采用自定义其行为的参数。这些值会被存储,且可以通过以下网络属性进行

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值