RSNNS包:递归神经网络

时间:2012-04-04 17:54:30

标签: r neural-network

我正在训练R中的Recurring神经网络elman

nn4< - elman(norm_traindata4,trsignals,size = 10,initFuncparams = iniweight,linOut = FALSE,maxit = 1000, learnFunfParams = 0.01,inputsTest = norm_testdata4,targetsTest = tesignals)

预测=预测(nn4,norm_testdata4)

每次我运行它,即使对于相同的输入参数集,例如size,learnFunParams,预测值也是不同的。如何获得相同参数值的相同预测值?

2 个答案:

答案 0 :(得分:2)

在代码的开头加入以下行:

set.seed(1)

神经网络使用随机初始值,并且可以收敛到局部最小值。 因此,设置种子,生成相同的随机初始值,每次都获得相同的神经网络。

答案 1 :(得分:0)

这是因为每次使用predict时网络内存都会发生变化。

Elman网络根据输入加上前一时间步骤中一组隐藏单位的状态来预测输出。因此,只要您使用predict,网络的“内存”就会发生变化。第二次使用predict新的'网络的存储器与(在你的情况下,相同的)输入一起用于预测新值。

重置网络记忆的技巧'使用训练样本中的输入预测(训练)目标。