はじめに MCMCの一種 目標: ある分布 $\pi(x)$からのサンプリングを行いたい Metropolis-Hastingsアルゴリズム (MH) Hamiltonian Monte Carlo (HMC) Langevin Dynamics (Metropolis-adjusted Langevin Algorithm) Stochastic Gradient Langevin Dynamics (SGLD) の順に見ていくと理解しやすい Metropolis-Hastings Metropolis-Hastingsについては既知のもとする 提案分布 $q(z)$を元に判定関数を用いて受容・棄却を行うMCMC cf. GibbsSamplingとHM 提案分布が対称, すなわち $q(z|z_\ast) = q(z_\ast|z)$ならば, 判定関数はただの $\min(1,\fra
さて、今回は混合モデルに対する効率的な学習アルゴリズムとして、崩壊型ギブスサンプリング(Collapsed Gibbs Sampling)*1を紹介します。ベースとなるアイデア自体はギブスサンプリングそのものなのですが、標準的な方法と比べて種々の計算テクニックが必要になってくるのと、実際に推論精度が向上することが多いのでここで紹介したいと思います。 また、今回の実験で使用したソースコードはGithubにおいてあります。 GitHub - sammy-suyama/MLBlog: source codes used in MLBlog [必要な知識] 下記をさらっとだけ確認しておくといいです。 ポアソン混合モデルにおけるギブスサンプリング ベイズ推論 カテゴリカル分布 1、崩壊型ギブスサンプリングのアイデア 基本的なアイデアとしては、対象の確率モデル(同時分布)から一部の確率変数をあらかじめ
• – – – • – – – • • • 0 200 400 600 800 1000 -4 -2 0 2 4 Draws Posterior • • • 0 2000 4000 6000 8000 -4 -2 0 2 4 6 Iterations • – • – – • – • – • • • • • • • • • • • • • • – = ⋅ = ⋅ • – • – – • – • -0.5 0.0 0.5 0.0 0.5 1.0 1.5 2.0 N = 4000 Bandwidth = 0.036 • • • • – • – • • • • 0 1000 2000 3000 4000 -1.0 -0.5 0.0 0.5 1.0 Iterations 0 1000 2000 3000 4000 -1 0 1 2 Iterations • • • • ρ = − ( ) + − (
5.1 2017 1 / 44 1 MCMC 2 3 (HMC) 4 5 (LMC) 6 7 2 / 44 MCMC p(x|w) (x ∈ RN , w ∈ W ⊂ Rd ) φ(w) W H(w) H(w) = − n ∑ i=1 log p(Xi|w) − 1 β log φ(w). exp(−βH(w)) = exp (∑ log p(Xi|w)β + log φ(w) ) = exp ( log ( φ(w) ∏ p(Xi|w)β )) p(w|Xn ) = 1 Zn(β) φ(w) n ∏ i=1 p(Xi|w)β = 1 Zn(β) exp(−βH(w)) H(w) (e.g. ) 3 / 44 MCMC : Ew[p(x|w)] = p∗ (x|Xn ) d = 1, 2, 3 ∫ f(w)p(w)dw ≈ 1 K K ∑ k=1 f(wk) K → ∞ {wk}K k=1
はじめに 「ハミルトニアンモンテカルロ法」は、モデルのパラメータを推定する手法であり、 マルコフ連鎖モンテカルロ法(MCMC法)の一種である。 確率的プログラミング言語のStanやPyMCで実装されており、誰でも容易に使うことができる。 様々なパラメータの推定手法 このようなモデルのパラメータを推定する方法に、「EMアルゴリズム」がある。 EMアルゴリズムは、Jensenの不等式を用いて、周辺化対数尤度を下限で近似する。 $ log\ p(x{\mid}{\theta}) \geq E_{z {\sim} q(z)} [log\ p(x, z {\mid}\theta)] $ そして、右辺を最大化することで、左辺の周辺化対数尤度に近づけていく。 しかし、モデル$p(x, z {\mid}\theta)$ が複雑だと、それ自体の解析的な計算ができないため、 EMアルゴリズムを適用することがで
機械学習系のベイズっぽい論文を読んでいると、SGLD [WT11] やSGRLD [PT13] といった文字列を見ることがあります。これらが何かというとマルコフ連鎖モンテカルロ法 (MCMC) の一種で、正規化定数がわからない高次元の確率分布からのサンプリングを得たい場合などに使われます。 アルゴリズムの位置づけとしては、 Langevin Monte Carlo (LMC) とか Langevin Dynamics などという名前で呼ばれている既存アルゴリズムがまずあり、それに伴う勾配計算をサブサンプリングを利用して簡略化したもの という感じです。勾配降下法 (GD) を確率的勾配降下法 (SGD) に拡張することにインスパイアされているのだったと思います。LMCのモチベーションとしてよく言われるのは、LMCでは (Metropolis–Hastings法に見られるような) 棄却ステップ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く