ANN 中的一个纪元是啥,它如何在 MATLAB 中转化为代码?

Posted

技术标签:

【中文标题】ANN 中的一个纪元是啥,它如何在 MATLAB 中转化为代码?【英文标题】:What is an epoch in ANN's and how does it translate into code in MATLAB?ANN 中的一个纪元是什么,它如何在 MATLAB 中转化为代码? 【发布时间】:2014-11-11 06:59:13 【问题描述】:

我试图理解(和可视化)关于训练 ANN 的一个纪元究竟是什么。

我们有一个包含约 7000 种产品的训练集,其中包含 10 个特征(输入)。这些产品必须根据这 10 个输入分为 7 个类别。

我们的 ANN 有 10 个输入,它们进入 10 个神经元的输入层。这些依次进入具有 8 个神经元的隐藏层。输出层有 7 个神经元。

在这种情况下,我如何可视化/理解一个纪元?

旁注:我是在 MATLAB 中编写的(我知道 ANN 工具箱)

【问题讨论】:

我认为这只是反向传播算法的一次迭代。该算法迭代地改变网络权重。我认为一个时期只是训练过程期间任何给定迭代的权重。这个答案说得很好:mathworks.com/matlabcentral/answers/… - 每个时期是每个训练集记录(所有输入)都被使用一次来更新权重 【参考方案1】:

在 MATLAB 中,一个纪元可以被认为是您的人工神经网络的 a completed iteration of the training procedure。也就是说,一旦您的训练算法使用了训练集中的所有向量,一个时期就过去了。因此,一个纪元的“实时持续时间”是dependent on the training method 使用的(例如,批量与顺序)。

引用a freely-accessible version of the MATLAB ANN toolbox glossary:

epoch - 向网络展示一组训练(输入和/或目标)向量并计算新的权重和偏差。请注意,训练向量可以一次呈现一个,也可以一批一起呈现。

Matlab 允许您设置最大 epoch 数,之后终止训练过程。这用于在训练算法的解不收敛的情况下停止训练,以防止无限运行训练。

【讨论】:

@Ortixx 不用担心。 ;)

以上是关于ANN 中的一个纪元是啥,它如何在 MATLAB 中转化为代码?的主要内容,如果未能解决你的问题,请参考以下文章

ANN预测模型基于差分算法改进ANN网络预测matlab源码

Matlab基于人工神经网络ANN实现多分类预测(Excel可直接替换数据)

Matlab基于人工神经网络ANN实现多分类预测(Excel可直接替换数据)

MATLAB中的@运算符是啥?

matlab 神经网络 ANN 分类

matlab中的mean函数是啥意思啊,如何使用