【问题标题】:How to minimize one argument of a function using Scipy?如何使用 Scipy 最小化函数的一个参数?
【发布时间】:2016-07-22 21:19:09
【问题描述】:

我有以下功能

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

我正试图用这个来最小化 alpha,但什么也没发生。

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

【问题讨论】:

    标签: python numpy scipy minimize


    【解决方案1】:

    您可以使用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)
    

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 2014-10-02
      • 1970-01-01
      • 2018-01-30
      • 2015-02-18
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      相关资源
      最近更新 更多