0

数学ソフトウェアを書くとき、自動微分が非常に役立つことがわかりました。私は今、確率変数と確率変数の関数を扱う必要があり、自動微分と同様のアプローチをこれにも使用できるように思われます。

アイデアは、与えられた多変量分布を持つ基本的なランダムベクトルから始めて、次にランダムベクトルのコンポーネントの関数の暗黙の確率分布で作業したいということです。アイデアは、2つの確率変数を加算、乗算、除算するときに2つの確率分布を適切に自動的に結合し、べき乗などのスカラー関数を適用するときに分布を適切に変換する演算子を定義することです。次に、これらを組み合わせて、元の確率変数に必要な関数を作成し、対応する確率分布を自動的に使用できるようにすることができます。

これは実行可能ですか?そうでない場合は、なぜですか?もしそうなら、それは特に独創的な考えではないので、誰かが私に既存の実装を、できればCで指摘してもらえますか?

4

1 に答える 1

0

確率的プログラミングに関する多くの研究が行われてきました。1 つの問題は、ディストリビューションが複雑になるにつれて、そこからサンプリングするためにより複雑な手法が必要になることです。

これにはいくつかの方法があります。確率的グラフィカル モデルは、これらのモデルを表現するための 1 つの語彙を提供し、さまざまな Metropolis-Hastings スタイルの方法を使用してそれらからサンプリングできます。ここに集中コースがあります。

もう 1 つのモデルは確率的プログラミングです。これは、組み込みのドメイン固有言語を介して直接行うことができます。Oleg Kiselyov のHANSEIは、このアプローチの例です。プログラムができたら、意思決定のツリーを検査し、重要度サンプリングの形式でそれらを展開して、各ステップで可能な限り多くの情報を得ることができます。

Wingate らによる「効率的な推論のための確率的プログラムの非標準解釈」もお読みください。これは、ディストリビューションの派生物に関する追加情報を使用して、Metropolis-Hastings スタイルのサンプリング手法を加速する 1 つの方法を説明しています。私は個人的に自動微分を使用してこれらの導関数を計算しますが、これはトピックを自動微分に戻します。;)

于 2013-01-21T12:21:42.233 に答える