gpt4 book ai didi

matlab - 如何在 MATLAB 中更改 newfit() 的默认参数?

转载 作者:太空宇宙 更新时间:2023-11-03 20:19:40 29 4
gpt4 key购买 nike

我正在使用

net = newfit(in,out,lag(j),{'tansig','tansig'});

生成一个新的神经网络。 验证检查次数 的默认值为6

我正在训练很多网络,这会花费很多时间。我想如果我的结果可以变得更快,那么即使我的结果不太准确也没关系。

我怎样才能训练得更快?

  • 我认为其中一种方法可能是减少验证检查次数的值(value)。我该怎么做(在代码中,不使用 GUI)
  • 有没有其他方法可以提高速度。

正如我所说,速度的提高可能会损失一点准确性。

最佳答案

只是为了扩展@mtrw回答,根据documentation ,当出现以下任何情况时,训练停止:

  • 达到最大epochs数:net.trainParam.epochs
  • 超过最大时间:net.trainParam.time
  • 性能最小化到目标:net.trainParam.goal
  • 性能梯度低于min_grad:net.trainParam.min_grad
  • mu 超过 mu_max:net.trainParam.mu_max
  • 自那以后,验证性能提高了超过 ma​​x_fail 次 最后一次减少(使用验证时):net.trainParam.max_fail

Epochstime 约束允许设置训练持续时间的上限。

目标约束在性能(错误)低于它时停止训练,并且通常允许您调整时间/准确性权衡的级别:不太准确的结果以加快执行速度。

这类似于 min_grad(梯度告诉您“下降”的强度),如果梯度的大小小于 mingrad,则训练停止。可以理解的是,如果误差函数变化不大,那么我们就达到了一个平台期,我们可能应该停止训练,因为我们不会有太大的改善。

mumu_decmu_max 用于控制权重更新过程(反向传播)。

max_fail 通常用于避免过度拟合,而不是用于加速。

我的建议是,将timeepochs 设置为您的应用程序约束允许的最大值(否则结果会很差)。反过来,您可以控制目标min_grad 以达到所需的速度/准确性权衡水平。请记住,max_fails 不会让您获得任何时间,因为它主要用于确保良好的泛化能力。

关于matlab - 如何在 MATLAB 中更改 newfit() 的默认参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735125/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com