問題タブ [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 投票する
2 に答える
2817 参照

python - 二次導関数の自動微分の実装: 計算グラフをトラバースするためのアルゴリズム?

Python 統計パッケージの自動微分を実装しようとしています (問題の定式化は最適化問題の定式化に似ています)。

計算グラフは、演算子のオーバーロードと、sum()、exp() などの演算用のファクトリ関数を使用して生成されます。逆累積を使用して勾配の自動微分を実装しました。しかし、二次導関数 (ヘッセ行列) の自動微分を実装するのははるかに難しいことがわかりました。個々の 2 番目の部分勾配計算を行う方法は知っていますが、グラフをトラバースして累積を行うインテリジェントな方法を思い付くのに苦労しました。二次導関数の自動微分のアルゴリズムを提供する優れた記事、または同じものを実装するオープンソースライブラリを知っている人はいますか?

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

matlab - matlabでの多変量最適化のためのニュートン法

方程式を数値的に解くことができない場合、勾配とヘッセ行列を計算するにはどうすればよいですか?

私の最小化方程式は次のとおりです。

勾配とヘッセ行列を計算するために、MATLAB関数「diff」を試しました。しかし、派生は人が処理できるよりはるかに長いです。ヘシアンまたは勾配を計算するためのコードを書く方法は?

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

image-processing - SIFT でのエッジ応答除去

Lowe の論文のセクション 4.1 では、ヘッセ行列を使用した主曲率の比率を使用して、エッジに属する可能性のある点を削除しています。

この論文では、ヘッセ行列が元の画像と DoG のどちらで計算されるかは指定されていません。Rob Hess の実装では、指定されたオクターブと間隔で DoG に適用されます。

私の質問は、ヘッセ行列が DoG に適用されて、潜在的なエッジであるポイントを特定するのはなぜですか?

Utkarsh のチュートリアルから、ヘシアンはハリスのコーナー検出に似ているはずだと理解しています。違いは、ヘッセ行列が 2 次導関数であることです。そこで、元の画像にヘシアンを適用する必要があると結論付けました。

Hessian の使用方法を説明している関連リソースを教えてください。

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

wolfram-mathematica - ヘッセ行列を計算する関数をコンパイルするには?

対数尤度のヘッセ行列を計算する関数をコンパイルして、さまざまなパラメーターのセットで効率的に使用できるようにする方法を調べています。

ここに例があります。

ロジット モデルの対数尤度を計算する関数があるとします。y はベクトル、x は行列です。beta はパラメーターのベクトルです。

次のデータが与えられると、次のように使用できます

そのヘシアンを次のように書くことができます

効率上の理由から、次のように元の尤度関数をコンパイルできます

pLike と同じ答えが得られます

何度も評価することに興味があるため、ヘッセ行列関数のコンパイル済みバージョンを同様に取得する簡単な方法を探しています。

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

matlab - Fminuncは、凸対物レンズの不定ヘッセ行列を返します

凸目的関数を最小化するということは、最小化器のヘッセ行列がPSDであるべきだということですか?Matlabのfminuncがpsdではないヘシアンを返す場合、それはどういう意味ですか?間違った目的を使用していますか?

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

image-processing - SIFT キーポイントの場所

私は現在SIFTで作業しています。ガウス画像レイヤーと極値画像レイヤーの違いを生成していました。ヘッセ行列を使用して低コントラストのキーポイントを排除する方法を誰かに説明してもらえますか?

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

image - ヘッセ行列の固有ベクトルと固有値

血管内の中心線ピクセルを抽出したい。最初に、ginput(1)コマンドを使用して、血管の端に近いシードポイントを選択しました。これは開始点を提供し、分析を実行する必要がある血管セグメントの関心領域(ROI)を指定します。

次に、選択されたシードポイントは、円が反対側のエッジと交差しないように、直径が血管の予想される直径よりも小さい円の中心として機能します。

問題:この円の円周上の光強度に対してヘッセ行列を計算し、固有ベクトルを取得する必要があります。私は以下を使用してDxx、Dyy、Dxyを計算しました:

次の問題のためにMATLABでコードを書く必要があります。」血管内の点の場合、最大の固有値に対応する固有ベクトルはエッジに垂直であり、最小の固有値に対応する固有ベクトルは血管に沿った方向を指します。

方向が最大に変化する円上の最初の2つの連続するベクトルは、血管の境界を反映するピクセルと見なされます。追跡方向のポイントは、後続の円の中心と見なされます。このプロセスを繰り返すと、血管境界の推定値が得られます。

上記のように、最大​​の固有値とそれに対応するヘッセ行列の固有ベクトルを計算して、新しいシードポイントを選択するにはどうすればよいですか。


お返事をありがとうございます 。eig2image.mを使用して、画像の各ポイントで固有ベクトルを見つけました(私の画像では、同心円領域に灰色の値があり、背景は黒です)。

ここで、IxとIyは最大の固有ベクトルです。
しかし、:を使用して固有ベクトルをプロットしようとすると、

ゼロになるはずの黒い背景のベクトルも見ることができます!!

画像の上部に固有ベクトルをプロットする方法を教えてください。

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

ruby - Ruby Matrix::固有値分解エラー

特定の行列の固有ベクトル行列を見ましたが、それを逆にしようとすると、エラーが発生しましたeigenvector_matrix_inv()

で確認したように、特異であってはなりませんMathematica:

与える

私は何を間違っていますか?

Ruby で特に注意すべきことはありますか?

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

c - CHOLMODスパース行列コレスキー分解:誤った因子?

私はCHOLMODを使用して、行列Aを因数分解し、システムAx = bを解きました。ここで、Aはヘッセ行列(下に印刷)であり、b = [1、1、1]はcholmod_ones関数によって作成されます。

残念ながら、xの解は正しくなく([1.5、2.0、1.5]である必要があります)、確認のためにAとxを掛け合わせて、[1、1、1]を取得しません。何が間違っているのかよくわかりません。

さらに、因子を調べましたが、行列要素の値も意味がありません。

出力

コード

iterate_hessian()は、CHOLMODヘッセ行列に読み込まれるdoubleを返す外部関数です。

コードのエントリポイントはcholesky_determinant、(正方)行列の次元を与える引数で呼び出されます。

0 投票する
4 に答える
7677 参照

cuda - CUDA を使用して非線形最小二乗法で連立方程式を解く

CUDA を使用して、非線形最小二乗ソルバーで連立方程式を解きたいと思います。これらの方法については、こちらからダウンロードできる優れた小冊子で説明されています。

私の問題のヤコビ行列は疎で下三角です。これらのメソッドで利用できる CUDA のライブラリはありますか? または、小冊子からこれらのメソッドを自分でプログラムする必要がありますか?

Gauss-Newton 非線形最小二乗ソルバー、Levenberg-Marquardt または Powell 法ソルバーは CUDA ライブラリ (無料または非無料) で利用できますか?