在课程中,没有关于时代的东西,但实际上它们无处不在。 如果优化器在一次传递中找到最佳权重,为什么我们需要它们?为什么模型会改进?为什么我们需要时代?
0
A
回答
0
通常,只要你想优化你使用梯度下降。渐变下降有一个称为学习速率的参数。仅在一次迭代中,您不能保证梯度下降算法将以指定的学习速率收敛到局部最小值。这就是为什么你重新迭代梯度下降以更好地收敛。
它也是一个很好的做法,通过观察学习曲线来改变每个时代的学习率以获得更好的收敛性。
0
为什么我们需要[训练多个时代],如果优化器在一次发现中找到最佳的权重?
这在大多数情况下是错误的。梯度下降法(参见a list of them)通常不会在一个路径中找到最佳参数(权重)。事实上,我从未看到任何情况下甚至达到了最佳参数(除了构建的案例)。
一个时代由许多重量更新步骤组成。一个时代意味着优化器曾经使用过每个训练示例。为什么我们需要几个时代?因为梯度下降是迭代算法。它有所改进,但它只是以微小的步骤到达那里。它只使用很小的步骤,因为它只能使用本地信息。除了当前的位置之外,它没有关于函数的想法。
您可能想要阅读我的optimization basics博客文章的渐变下降部分。
相关问题
- 1. 为什么我们需要scalaz.stream迭代?
- 2. 为什么我们需要公钥签名时需要HMAC?
- 3. 当我们有点子时,为什么我们需要Anaconda?
- 4. C#代表,为什么我们需要它们?
- 5. DavLockDB:我们需要什么?
- 6. 为什么我们需要simple_one_for_one?
- 7. 为什么我们需要TensorFlow tf.Graph?
- 8. 为什么我们需要使用prompt.start()?
- 9. 为什么我们需要WCF
- 10. 为什么我们需要Anaconda 2.7?
- 11. 为什么我们需要编写log.isDebugEnabled?
- 12. 为什么我们需要ng-click?
- 13. 为什么我们需要Control.Lens.Reified?
- 14. 我们为什么需要纤维
- 15. 为什么我们需要org.junit.ComparisonFailure?
- 16. 为什么我们需要addRequestHeader方法?
- 17. 为什么我们需要ContinueWith方法?
- 18. 为什么我们需要Java NIO Selector?
- 19. 为什么我们需要使用ExitWindowsEx
- 20. 为什么我们需要包装类
- 21. 为什么我们需要在JavaScript
- 22. 为什么我们需要设置SONAR_RUNNER_OPTS?
- 23. 为什么我们需要ioc容器
- 24. mongodb为什么我们需要getSisterDB
- 25. 为什么我们需要BeginGetResponse和BeginRead?
- 26. 为什么我们需要fieldset标签?
- 27. 为什么我们需要boost :: thread_specific_ptr?
- 28. JSP:为什么我们需要RequestDispatcher?
- 29. 为什么我们需要calloc(或malloc)?
- 30. 为什么我们需要.htaccess的worpdress?