当我得到简单的回溯算法时,我正在用Nocedal&Wright进行一些优化阅读/练习,如果d是我的直线方向,a是该算法寻找的步长

对于大约0
对我来说,这似乎很奇怪,因为这是一个非常损失的需求。
我做了一些c= 0.3的实验,它似乎比建议的10^-4更有效(对于一个简单的二次问题和最陡峭的下降)。
对于为什么这么低的价值应该起作用,以及为什么它对我不好,有任何直觉吗?
谢谢。
发布于 2014-05-29 12:22:42
对于不同的问题,∇f()可能有完全不同的尺度;一个步长不能适合所有问题。
考虑f(x) = sin(ω)。(X ):正确的c将取决于ω,该顺序可能是1,或1e-6,或.
因此,最好将c f()扩展到规范1,然后再使用∇。
(推荐"c =.“的人,请描述您的问题大小和规模。)
添加一些噪音到你的二次型,看看会发生什么,因为你增加噪音。在2d,10d内尝试二次+噪声。
在机器学习方面,c a.k.a上似乎有相当多的民间传说。学习率;
谷歌stackexchange.com上的学习率,也包括梯度下降步长和阿达格勒的自适应梯度。
https://stackoverflow.com/questions/22640839
复制相似问题