如何使用Scipy最小化函数的一个参数?

时间:2016-04-03 09:51:10

标签: python numpy scipy minimize

我有以下功能

Object#equals

我试图用这个来减少alpha,但没有任何反应。

def fun(X, alpha, y):
    #some stuff
    return J, gradient

1 个答案:

答案 0 :(得分:2)

您只需使用一个参数即可使用functools.partial将函数转换为部分函数。为了使其与scipy.optimize.minimize一起使用,您需要将变量参数保留在最后位置:

def fun(X, y, alpha):
    #some stuff
    return J, gradient

然后:

from functools import partial

optfunc = partial(func, X, y)
optimized_alpha = sp.optimize.minimize(optfunc, alpha, method="Newton-CG", jac=True)