問題タブ [hessian-matrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1380 参照

python - L-BFGS-B からおおよその逆ヘッセ行列を取得する

scipy の L-BFGS-B ミニマイザーを使用すると、内部で計算されたおおよその逆 Hessian を取得できますか?

任意の逆ヘッセ行列 (ベクトル積) を計算できるように、暗黙的な因数分解された形式にすることは問題ありません。

0 投票する
1 に答える
77 参照

machine-learning - 後方伝播: 解析的な 2 次導関数は計算する価値がありますか?

私たちが一般的に二次導関数情報を使用しない理由は、ヘッセ行列がより多くのレイヤーと重みで非常に大きくなり、計算コストが高くなるため、ヘッセ行列を使用しない方法が好まれるためだと理解しています。私の質問は、文献で言及されている計算コストが、二次導関数が数値的に計算されているという仮定の結果であるかどうかです。代わりに、評価中の目的関数がきちんとした分析的な二次導関数を生成した場合、ニュートンベースの方法は、多数の隠れ層があってもANNパラメーターを推定するために計算上扱いやすいでしょうか? それとも、純粋にヘッセ行列のサイズであり、更新アルゴリズムのためにそれを反転する必要性/費用 (!) - 代わりに勾配ベースの方法を使用するための決定要因ですか?

0 投票する
1 に答える
1387 参照

matlab - fmincon に Hessian を提供する

勾配ベクトルとヘッセ行列を提供することで、fmincon がより速く収束するのを助けようとしています。私は内点法アルゴリズムを使用していますが、そのような場合、OPTIOINS の HessFcn に割り当てられた別の関数への呼び出しを使用して Hessian を提供する必要があることに気付きました。また、ここで式 14-1 で説明されているように、fmincon のヘッセ行列はラグランジアンの 2 次導関数であることも認識しています。次の関数定義を使用して、ヘッシアンの計算中にフィッティングパラメーターとラムダにアクセスすることになっています

この時点から、手順を理解するのにいくつかの困難があります。私の問題には線形制約と上限と下限がありますが、ラムダ構造は空です。つまり、hessianfcn からアクセスしようとすると、次のように返されます。

この問題を解決する方法はありますか?

PS私はここで与えられた指示に従っていますが、それは意図的に非線形制約をいくつかのランダムな線形制約に置き換えるまで機能し、その後再び同じ問題が発生します(空のラムダ構造)。

0 投票する
2 に答える
2623 参照

scipy - scipy の最適化の最小化: hess_inv は初期の推測に大きく依存します

scipy.optimize.minimize単純な対数尤度関数を最小化するために使用しています。ヘッセ行列はうまく動作していないようです。

初期推定が最小の場合、反復はどこにも行きません。パラメーター値に関しては問題ありませんが、ヘッセ行列 (まだ同一性) にも触れていないため、不確実性の推定には使用できません。

最初の推測を少し変更すると、適切な hess_inv が返されるようです。

ただし、hess_inv は最初の推測に非常に敏感です。

最初の推測をもう少し変更する

私は何か見落としてますか?これはバグですか、それとも機能ですか?

0 投票する
1 に答える
936 参照

python - theano.gradient.hessian の使い方は? 例が必要

以下のコードを試しました:

次に、次の実際の値で実行します

その後、次のエラーが発生しました

私は Python を初めて使用し、ニューラル ネットワークを構築するために Theano を調査しています。

0 投票する
1 に答える
359 参照

java - BoofCV / Java - ガウス畳み込みによる画像のヘッセ行列の構築

グレースケール画像のヘッセ行列を作成したいのですが、二次導関数を計算する必要があります。私はBoofCVを使用しており、最初の注文を計算する関数を見つけました。

入力パラメーターとして「シグマ」(標準偏差) を使用しています。入力シグマとグレースケール画像として使用して二次導関数を計算する関数または他の方法はありますか?

私は他のJava CVライブラリの提案を受け入れています。