【发布时间】:2012-04-04 17:54:30
【问题描述】:
我正在 R 中训练循环神经网络 elman。
nn4
预测 = 预测(nn4,norm_testdata4)p>
每次运行此程序时,即使对于同一组输入参数(如 size、learnFunParams),预测值也会有所不同。如何为相同的参数值获得相同的预测值?
【问题讨论】:
-
有人可以回答这个问题吗?
标签: r neural-network
我正在 R 中训练循环神经网络 elman。
nn4
预测 = 预测(nn4,norm_testdata4)p>
每次运行此程序时,即使对于同一组输入参数(如 size、learnFunParams),预测值也会有所不同。如何为相同的参数值获得相同的预测值?
【问题讨论】:
标签: r neural-network
在代码开头包含以下行:
set.seed(1)
神经网络使用随机初始值,并且可以收敛到局部最小值。 因此设置一个种子,生成相同的随机初始值,并且每次都得到相同的神经网络。
【讨论】:
这是因为每次使用predict时网络的内存都会发生变化。
Elman 网络根据输入加上前一个时间步的一组隐藏单元的状态来预测输出。因此,一旦您使用predict,网络的“内存”就会发生变化。第二次使用predict 时,网络的“新”内存与(在您的情况下,相同的)输入一起用于预测新值。
“及时”重置网络记忆的技巧,使用来自训练样本的输入预测(训练)目标。
【讨论】: