概述
划分数据以实现最优神经网络训练MATLAB
本主题介绍典型多层网络工作流的一部分。有关详细信息和其他步骤,请参阅多层浅层神经网络与反向传播训练。多层浅层神经网络与反向传播训练
在训练多层网络时,通常的做法是首先将数据分成三个子集。第一个子集是训练集,用于计算梯度和更新网络权重及偏置。第二个子集是验证集。在训练过程中会监控基于验证集的误差。验证误差通常在训练的初始阶段减小,训练集误差也是如此。然而,当网络开始过拟合数据时,基于验证集的误差通常开始增大。网络权重和偏置以最小的验证集误差保存。这种方法在提高浅层神经网络泛化能力,避免过拟合中进行更详细的讨论。
训练期间不使用测试集误差,但测试集误差用于比较不同模型。在训练过程中绘制测试集误差也很有用。如果测试集误差与验证集误差达到最小值所需的迭代次数显著不同,这可能表示数据集的划分不佳。
可使用四个函数将数据划分为训练集、验证集和测试集。它们是 dividerand(默认值)、divideblock、divideint 和 divideind。数据划分通常在您训练网络时会自动执行。
函数 算法
dividerand 随机划分数据(默认值)
divideblock 将数据划分为连续数据块
divideint 使用交错选择划分数据
divideind 按索引划分数据
您可以使用以下属性访问或更改网络的划分函数:
net.divideFcn
每个划分函数都采用自定义其行为的参数。这些值会被存储,且可以通过以下网络属性进行更改:
最后
以上就是心灵美指甲油为你收集整理的划分数据以实现最优神经网络训练MATLAB的全部内容,希望文章能够帮你解决划分数据以实现最优神经网络训练MATLAB所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复