【问题标题】:neuralnet package in R - how to obtain weights prior to training convergence?R中的神经网络包 - 如何在训练收敛之前获得权重?
【发布时间】:2014-03-06 08:04:21
【问题描述】:

我想绘制一条学习曲线,以查看神经网络在训练过程中的进度。横轴是总迭代次数,纵轴代表错误率。随着网络训练的进行,我想查看测试集和训练集的错误率。

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,我打算将 startweights 设置为在中断训练中获得的权重,如下所示:

# 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 是 NULL。

有谁知道使用神经网络完成此任务的方法吗?

【问题讨论】:

    标签: r neural-network


    【解决方案1】:

    我直接写信给神经网络包的作者之一 Frauke Guenther,并收到了他的明确答复:

    “不幸的是,目前训练的权重只有在网络收敛的情况下才会被存储。尚未实现在训练过程中或网络不收敛时可以访问权重。”

    【讨论】:

      猜你喜欢
      • 2017-10-12
      • 2015-08-03
      • 1970-01-01
      • 2018-03-01
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 2020-12-07
      相关资源
      最近更新 更多