【问题标题】:Estimate of Inverse Hessian Using SciPy Minimization使用 SciPy 最小化估计 Inverse Hessian
【发布时间】:2017-07-06 10:29:42
【问题描述】:

我正在使用 SciPy 的“最小化”函数来最小化一个函数。该函数返回最优值,以及估计的 Jacobian 和 Hessian。如下:

fun: -675.09792378630596
hess_inv: <8x8 LbfgsInvHessProduct with dtype=float64>
jac: array([  6.34713615e-02,   1.15960574e-03,   1.63709046e-03, 2.16914486e-02,  -8.02970135e-02,  -4.39513315e-02,
6.69160727e-02,  -5.68434189e-05])
message: b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'
nfev: 684
nit: 60
status: 0
success: True
x: array([  9.93756778e-01,   3.51823214e+00,  -2.06368373e-01, 7.37395700e-04,   2.11222756e-02,   3.29367564e-02, 1.22886906e-01,  -2.75434386e-01])

我想要估计的 Hessian,但是当我让它返回 hess_inv 时,我得到的只是

<8x8 LbfgsInvHessProduct with dtype=float64>

而不是 maxtrix 本身。我如何让它返回矩阵?

【问题讨论】:

    标签: python numpy optimization scipy


    【解决方案1】:

    来自SciPy documentation for the LbfgsInvHessProduct;您可以使用 todense() 方法将 LbfgsInvHessProduct 的值作为密集数组获取。

    但是,请记住 LbfgsInvHessProduct 仍然是一个矩阵!这是一种特殊的内存优化格式,但您仍然可以调用其他矩阵函数,例如 matmat()、transpose()、dot() 等。

    【讨论】:

      猜你喜欢
      • 2021-03-31
      • 2015-06-09
      • 1970-01-01
      • 2018-01-30
      • 2015-02-18
      • 2021-10-25
      • 1970-01-01
      • 2019-07-20
      相关资源
      最近更新 更多