2017-02-17 5 views
1

SciPyの最小化関数を使用して関数を最小化しています。関数は推定されたヤコビ行列とヘッセ行列と共に最適な値を返します。以下のように:SciPy最小化を使用した逆ヘッセ行列の推定

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]) 

私は推定ヘッセをしたいが、私はそれがhess_invを返していたとき、私は返されますすべては

<8x8 LbfgsInvHessProduct with dtype=float64> 

いうよりmaxtrixそのものです。どのように行列を返すのですか?

答えて

0

SciPy documentation for the LbfgsInvHessProductから; todense()メソッドを使用して、密な配列としてのLbfgsInvHessProductの値を取得することができます。

ただし、LbfgsInvHessProductはまだ行列です。特別なメモリ最適化フォーマットですが、matmat()、transpose()、dot()などの他の行列関数を呼び出すことはできます。

関連する問題