Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我在用
net = newfit(in,out,lag(j),{'tansig','tansig'}); 生成一个新的神经网络。 validation checks次数的默认值为6 。 我正在训练很多网络,这需要很多时间。我想我的结果是否可以准确地提高一点,这并不重要。 我怎样才能更快地训练?
回答: 根据文档 ,仅是扩展@mtrw答案,当发生以下任何一种情况时,培训就会停止:
当性能(错误)下降到目标约束以下时, 目标约束将停止训练,并且通常可以让您调整时间/精度的权衡程度:较不精确的结果可以更快地执行。 这类似于min_grad (梯度告诉您“下降”的强度),因为如果梯度的大小小于mingrad,则训练会停止。通过以下事实可以理解,如果误差函数变化不大,那么我们将达到一个平稳状态,我们可能应该停止训练,因为我们的改进不会太大。 mu , mu_dec和mu_max用于控制权重更新过程(反向传播)。 max_fail通常用于避免过度拟合,而不是为了加速。 我的建议是,将时间和纪元设置为您的应用程序限制所允许的最大可能时间 (否则结果将很差)。然后,您可以控制目标和min_grad以达到所需的速度/精度权衡。请记住, max_fails不会使您有所收获,因为它主要用于确保良好的泛化能力。 更多&回答... |
![]() |
![]() |