next up previous index
次へ: パラレルテンパリング法 上へ: [オーガナイズド講演] 確率モデルと集団最適化入門 Introduction to 戻る: シミュレーテッドアニーリング   索引


集団モンテカルロ法

さて,今までは 1 つの $ x$$ \cal X$ 上を渡り歩いて最適解を探すという ものであったが,複数の $ x$ で探せばもっと効率がよくなるのではないかと いうのが本稿の主テーマである集団最適化である. まずここでは MCMC を集団で行う集団モンテカルロ法について説明しよう5

最も単純なアイディアは,$ x$$ K$ 個用意して,それらに対して独立に MCMC を 走らせるというものである. これは,$ \cal X$ に値をとる $ K$ 個の確率変数 $ x^{(1)},\ldots,x^{(K)}$ を考え,

$\displaystyle p(x^{(1)},\ldots,x^{(K)}) = \prod_{k=1}^K p_T(x^{(k)})$ (7)

を極限分布とする MCMC として, $ k=1,\ldots,K$ の順に $ x^{(k)}$ を一つずつ更新していく 1 変数 MCMC をやっていることに相当する. その際提案分布は $ q(x^{(k)}_{t+1}\mid x^{(k)}_t)$ をそのまま用いる. この一般化を行う際に以下の 2 つの方向性が考えられる.

(1)   極限分布 (7) の一般化: 同じ形の分布である必要はない. 例えば,(2) 式で,それぞれの $ k$ ごとに温度が 違う分布 $ p_{T_k}(x^{(k)})$ を使って,

$\displaystyle p(x^{(1)},\ldots,x^{(K)}) = \prod_{k=1}^K p_{T_k}(x^{(k)})$ (8)

を極限分布とするようにしてもよい.

(2)   1 変数 MCMC から多変数 MCMC への一般化: 提案分布を1変数ごと独立 ではないものに拡張することが考えられる. といってもそれだけでは少し広すぎるが,例えば独立な 1 変数 MCMC ステップ に加えて $ x^{(j)}$$ x^{(k)}$ の値を入れ替えるという操作によって, $ x^{(j)}$$ x^{(k)}$ の間の相互作用のような効果を入れることができる.



Subsections

Shotaro Akaho 平成19年6月13日