2016-04-03 79 views
1

我有以下功能如何使用Scipy最小化函數的一個參數?

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

而且我想minimze阿爾法這個問題,但沒有任何反應。

optimized_alpha = sp.optimize.minimize(lambda t: fun(X, t, y), alpha, method="Newton-CG", jac=True) 

回答

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) 
相關問題