Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scipy.optimize.fmin_cg中的起始步长计算不清楚_Python_Optimization_Scipy - Fatal编程技术网

Python scipy.optimize.fmin_cg中的起始步长计算不清楚

Python scipy.optimize.fmin_cg中的起始步长计算不清楚,python,optimization,scipy,Python,Optimization,Scipy,我最近开始使用scipy.optimize,我不清楚为什么在fmin_cg中,在启动时,根据当前函数值将函数的“先前”值设置为固定值 xk = x0 old_fval = f(xk) old_old_fval = old_fval + 5000 这就避免了代码后面处理这种情况时的行搜索功能(更正确?)。 当然应该说: xk = x0 old_fval = f(xk) old_old_fval = None 还是我错过了什么 是的,它可能应该是None。再看一看代码,这两个值似乎都会导致使用1

我最近开始使用scipy.optimize,我不清楚为什么在fmin_cg中,在启动时,根据当前函数值将函数的“先前”值设置为固定值

xk = x0
old_fval = f(xk)
old_old_fval = old_fval + 5000
这就避免了代码后面处理这种情况时的行搜索功能(更正确?)。 当然应该说:

xk = x0
old_fval = f(xk)
old_old_fval = None

还是我错过了什么

是的,它可能应该是
None
。再看一看代码,这两个值似乎都会导致使用
1.0
作为初始步长,但在代码中使用“神奇”数字只是一种糟糕的风格,即使它碰巧起作用

想吗?
(不过,现在我们更喜欢对补丁进行小改动的请求,而且工作量也不多。)

感谢您的确认。导致初始步长为1.0(以及固定的最大/最小步长)的代码是我遇到的另一个小问题。在我的渐变中有非常小的振幅,这就需要大的步长,因为最大步长限制为50(另一个选项是渐变的缩放)。