1

上限と下限しか知らない 3 つの未知の入力パラメーターを持つ比較的単純な関数があります。また、すべてのデータの出力 Y がどうあるべきかを知っています。

これまでのところ、Python で単純なグリッド検索を実行し、考えられるすべてのパラメーターの組み合わせをループして、予測された Y と観測された Y の間の誤差が設定された制限内にある結果を返しました。

次に、結果を調べて、サンプルの各グループでどのパラメーター セットが最も効果的かを確認し、パラメーター間のトレードオフを調べ、外れ値がデータにどのように影響するかなどを確認します。

本当に私の質問は - 私が使用しているグリッド検索方法は少し面倒ですが、代わりに大都市ヘイスティングスなどのモンテカルロ法を使用する利点は何ですか?

私は現在 MCMC メソッドを研究していますが、それらを実際に使用した経験がなく、この場合、何が得られるのかよくわかりません。

コメントや提案をいただければ幸いです

どうもありがとう

4

2 に答える 2

6

MCMC メソッドは、基になる関数が複雑な場合 (複雑すぎて直接計算できない場合もあります) および/または高次元空間で役立つ傾向があります。これらは、他に何も実行できない場合やうまく機能しない場合によく使用されます。あなたは単純で低次元の問題を抱えているので、MCMC アプローチが特に役立つとは思いません。

問題のドメインに対して十分に短い時間で十分に細かいスケールでグリッド検索を実行できる場合、それはおそらく良いアプローチです。

関数が凸型の場合、勾配降下法などのよく知られたアプローチが多数あります。

関数が簡単に解ける単純な関数形式を持っていても、大きな外れ値を含む大量のデータがある場合、RANSACが役立ちます。

関数が未知の位置に多くの局所的最小値を持つ場合、シミュレートされたアニーリングはうまく機能します。

于 2013-01-09T13:41:30.420 に答える
2

検索スペースが大きくなると、全数検索を実行できなくなる可能性があります。そこで、必然的にモンテカルロ法に目を向けます。

于 2013-01-09T13:39:16.957 に答える