小编khi*_*ner的帖子

了解scipy.optimize.minimize的Jacobian输出

我正在使用scipy.optimize.minimize来查找自定义非线性函数的RSS最小值。我将提供一个简单的线性示例来说明我在做什么:

import numpy as np
from scipy import optimize

def response(X, b0, b1, b2):
    return b2 * X[1]**2 + b1 * X[0] + b0

def obj_rss(model_params, y_true, X):
    return np.sum((y_true - response(X, *model_params))**2)  

x = np.array([np.arange(0, 10), np.arange(10, 20)])
r = 15. * x[1]**2 - 32. * x[0] + 10.

init_guess = np.array([0., 50., 10.])
res = optimize.minimize(obj_rss, init_guess, args=(r, x))

print res
Run Code Online (Sandbox Code Playgroud)

这样会产生结果:

      fun: 3.0218799331864133e-08
 hess_inv: array([[  7.50606278e+00,   2.38939463e+00,  -8.33333575e-02],
       [  2.38939463e+00,   8.02462363e-01,  -2.74621294e-02],
       [ -8.33333575e-02,  -2.74621294e-02,   9.46969972e-04]])
      jac: …
Run Code Online (Sandbox Code Playgroud)

minimize stderr scipy non-linear-regression

5
推荐指数
0
解决办法
1191
查看次数

标签 统计

minimize ×1

non-linear-regression ×1

scipy ×1

stderr ×1