問題タブ [pymc3]

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 投票する
0 に答える
376 参照

pymc3 - 最適化のための U ターン サンプラーはありません

次の性質の最適化問題を解決したいと考えています。

これは、マルコフ連鎖モンテカルロ サンプリングとシミュレーテッド アニーリングによって実行できます。

thetaHMCバリアントNUTSメソッドとシミュレーテッドアニーリングにより、PyMC3ライブラリを使用してパラメータセットを最適化することは可能ですか?

これまでの PyMC3 ライブラリのチュートリアルでは、NUTS を使用したサンプリングの例しか見てきませんでした。これは扱いにくい積分を計算するのに役立ちますが、それを使って最適化問題を解く方法がわかりません。

0 投票する
0 に答える
149 参照

pymc - このpymcコードを最適化するにはどうすればよいですか?

pymc3 を使用して単純な Ising モデルで推論を実行したいと思います。

ただし、最後のpm.NUTSステップは完了するまでに平均 2 分かかり、約 1 ギガバイトのメモリも使用します。これは N=15 の場合なので、かなり小さいモデルです。これを高速化するためのヒントはありますか?2 次情報を簡単に計算できる非常に基本的な操作を既に使用しています。

0 投票する
0 に答える
79 参照

theano - TypeError: MaxAndArgmax には、任意/カスタム分布関数の定数軸が必要です

非常に複雑で、NUTS を使用してサンプルする多変量、連続、カスタム/任意の分布関数を定義しようとしています。すると、次のエラーが表示されます。

カスタム logp 関数の出力が theano 変数スカラーであることを確認しました。また、カスタム分布宣言の外で、logp を返す theano 関数を正常にコンパイルし、多変量入力に対する勾配も返すことができました。 . 私のカスタム配布関数は、上記のエラーの生成に関与しているように見えるスキャン操作を使用していません。また、スキャン操作に関して、形状の推測に関する警告も受け取ります (エラー メッセージについては、こちらでフォローアップできます)。

私が行った調査から、問題はおそらく NUTS によるヘシアンの計算に起因しているように思えますが、よくわかりません。私はpymc3とtheanoの経験が浅いので、ここでの洞察は大歓迎です。

ありがとう!

アレックス

アップデート:

私は今、ヘシアンがこのエラーを引き起こしているとかなり確信しているので、これはpymc3の問題よりもtheanoの問題になります。pymc3 の外部で関数を完全に評価することでこれをテストできましたがtheano.gradient.hessian()、上記とまったく同じエラーを受け取りました。また、この問題と同様に、尤度関数の評価に を使用してtensor.min()いたため、上記のエラーが発生しました。ただし、min() を sum() に置き換えて二重チェックを行ったところ、theano は関数のコンパイルに失敗しましたが、エラーはスローされませんでした (ブロックされただけです)... ただし、gpu でのみです。そこに「偽の」sum()操作を保持したまま、ヘシアンは私のCPUで正常に評価されました。とにかく、連続性と凸性に関しても尤度関数に問題があると思うので、この道を進むことはありません。