我希望绘制一个学习曲线,以查看神经网络在训练期间的进展。水平轴是总迭代次数,垂直轴表示错误率。我想在网络训练过程中同时查看测试集和训练集的错误率。
nn <- neuralnet(f,
data = train,
hidden = 2,
linear.output = F,
threshold = 0.01,
stepmax = 10,
lifesign = "full",
learningrate = .1,
algorithm='backprop')
通过设置stepmax=10(或50或?),我希望能够在收敛之前检查网络,查看测试集和训练集的错误率,然后继续训练另外10步。这个(部分)训练好的神经网络被命名为nn,我计划将起始权重设置为中断训练获得的权重,如下:
# Try to further train alerady trained net
nn <- neuralnet(f,
data = train,
hidden = 2,
linear.output = F,
threshold = 0.01,
lifesign = "full",
learningrate = .1,
startweights = nn$weights,
algorithm='backprop')
然而,训练发出了警告:“算法在stepmax中的1个重复中未收敛”。我并没有期望它会收敛,但是这10个完成的训练步骤应该已经修改了最初的随机权重。然而,nn$weights为空。
是否有人知道如何通过neuralnet来实现这一点?