dbda chap7

29
7 Inferring a Binormial Proportion via the Metropolis Algorithm Naoki Kobayashi Adachi lab. The Univ. of Tokyo

Upload: kobayashi-naoki

Post on 18-Dec-2014

381 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Dbda chap7

7 Inferring a Binormial Proportion

via the Metropolis AlgorithmNaoki Kobayashi

Adachi lab. The Univ. of Tokyo

Page 2: Dbda chap7

はじめに✓ パラメータθの推定を引き続き行ないます

✓ θの事後分布の形を知り、

✓ (1)estimation

✓ (2)prediction

✓ (3)comparison

✓ を行うことが目的

✓ 第5章:パラメータθの事前分布を決め打ち

✓ 第6章:ヒストグラム

✓ 事前分布もわからない、ヒストグラムもかけないときに、どうするか、

をこの章で扱います。

2

Page 3: Dbda chap7

メトロポリスアルゴリズム✓ この章ではものすごく簡単な例を使って、サンプリングの1手法である

メトロポリスアルゴリズム というものを扱います。

✓ 普通、この章の方法に関しては1パラメータのものに適用することは稀

ですが、説明の際は1パラメータの方が簡単なので1パラメータで議論

は進められます。

✓ 政治家の話の例(メトロポリスの導入)

=>ベイズ推論

と話が移っていきます

3

Page 4: Dbda chap7

4

7.1メトロポリスアルゴリズムの簡単な例題

Page 5: Dbda chap7

✓ 政治家が、東西に一直線に伸びる島々に住んでいると想像してください

✓ 彼は政治活動ために以下のどれかで1日ごとにどこかの島を訪問します✓ (1)西どなりの島に移動する

✓ (2)東どなりの島に移動する

✓ (3)今の島に滞在

✓ ■目的全ての島に訪問しつつも、なるべく高い人口の島に多くの時間を使いたい(訪問したい)(各島への訪問回数と各島の人口比を比例させたい)

✓ ■前提

✓ 今の島の人口、両隣の島々の人口を知ることはできる✓ 全島の総人口、島の数は知らない(知ることができない)

✓ どういう方法で島々を訪問していけば、上記の目的は達成できるか?

メトロポリスアルゴリズムの例題概要

5

(2)(1)

(3)… …

Page 6: Dbda chap7

✓ ①西にいくか、東にいくかフェアなコイントスで決める(A島とする)

✓ ②A島の人口をたずねる

✓ ③以下に従って移動するかどうかを判定をする

(1)A島の人口が現在の島の人口より多い場合

   A島にすすむ

(2)そうでない場合

    pmove=[A島の人口] / [現在の島の人口] の確率でA島にすすむ

   1 - pmove の確率で今の島に滞在

✓ 実はこれがすごくよくできている

政治家が考えた手法

6

pmove

1 - pmove

100%

Page 7: Dbda chap7

7

具体的に数字を設定して手法を実施してみる

Page 8: Dbda chap7

例題に具体的に数字をいれてみる(島の数と人口)

✓ この例題で、島は7つあるとする

✓ 島々の人口は下図とする。(P(θ) = θのような分布)

✓ 各島への訪問回数が人口に比例

 =訪問数のヒストグラムが上のグラフと同じような形をする

ように訪問できれば、

本手法の有効性に説得力が(とりあえず)出せる

8

各島々の人口島の番号

人口

Page 9: Dbda chap7

政治家の手法を適用して得られた移動の軌跡の結果

✓ 最初はθ=4の島からスタートするとする。

✓ [t=1 => t=2] コイントスで右になった✓ θ=5の方が人口が多いので、θ=5の島に移動

✓ [t=2 => t=3] コイントスで右になった

✓ [t=3 => t=4] コイントスで右になった

✓ [t=4 => t=5] コイントスで左になった✓ 6/7で左に移動。この時は移動した。

9

各島々の人口比先ほどの手法によって政治家がとった軌跡例

Page 10: Dbda chap7

訪問数の結果

10

人口と訪問数の形が酷似

島の人口

訪問数

有効である(とりあえず)

Page 11: Dbda chap7

11

もう少しなぜこうなるのかを考察

Page 12: Dbda chap7

諸定義✓ 提案分布(proposal distribution): どちらにいくかをきめる分布のこと

✓ 今回はコイントス(50-50のベルヌーイ分布)

✓ 目標分布(target distribution): 知りたい分布のこと✓ 今回でいう、P(θ)(島の人口)

✓ 受け入れるかどうかの確率を数式化すると

12

θcurrent:今の位置

θproposed:コイントスで提案された位置

今回で言うと、それぞれの島の人口の比

Page 13: Dbda chap7

k回の移動後に島θにいる確率

13

最初はθ=4なのでθ=4が確率1

コインで右が出ると必ずθ=5に移動(確率 1/2)コインで左が出ると3/4でθ=3に移動(確率 1/2*3/4 = 3/8)

1/4でθ=4のまま滞在(確率 1/2 * 1/4 = 1/8 )

(省略)

Page 14: Dbda chap7

k回の移動後に島θにいる確率

14

Page 15: Dbda chap7

考察✓ 最初の方では、「初期値」の場所に尖りがある

✓ この最初の期間をburn-inという

✓ 今回の簡単なモデルあれば、t=99でのグラフは本当のグラフとよく似た

形をしている。

✓ 十分な時間がたてば、サンプリングを行なっていくことで、

目標分布(今回であれば、人口の分布)にとってかわる分布を得ること

が可能であることがわかった。

15

Page 16: Dbda chap7

なぜ存在確率があの形になるのか✓ もし今θにいるして、θ+1に移動する確率は

  p(θ → θ+1) = 0.5×min(P(θ+1)/P(θ), 1)

✓ もし今θ+1にいるとして、θに移動する確率は

  p(θ+1 → θ) = 0.5×min(P(θ)/P(θ+1), 1)

✓ これらの比をとると

16

θからθ+1に行く確率とθ+1からθに行く確率の大きさを比べた時、

(1)θ+1の人口のほうがθよりも多い場合、θからθ+1へ移動する確率のほうが大になり、(2)θの人口の方がθ+1よりも多い場合、θ+1からθに行く確率の方が大になる

いま、例題では(1)の状況なので、θが大きければ大きい程、そちらに移動する確率が高い、という解釈ができて、直感的な理解として先ほど得たような存在確率のグラフの形が得られる、という考察

Page 17: Dbda chap7

なぜあの形で落ち着くのか✓ θから他の点に移動する確率をM×Mの行列で

表現してみる(Mは取り得るθの値の数)

✓ 各行は現在の位置に、各列は移動の候補に対応する

✓ θからθ+1の確率 p(θ→θ+1)

0.5×min(P(θ+1)/P(θ), 1)✓ θからθ-1の確率 p(θ→θ-1)

0.5×min(P(θ+1)/P(θ), 1)

17行列のうちθ-2 からθ+2の部分のみ切り出したもの

✓ θからθへの確率 p(θ→θ)

0.5×{ 1 - min(P(θ+1)/P(θ), 1) } + 0.5×{ 1-min(P(θ+1)/P(θ), 1) }

✓ その他 (p(θ→θ+2)とか)

0

Page 18: Dbda chap7

推移行列

✓ 一回のステップで、wTを計算すれば次の存在確率がでる

18

T =

各位置に存在する確率を表すベクトル

Page 19: Dbda chap7

推移行列✓ 仮に、現在いる確率が、目的の分布と同じ形をしたとする

✓ Z:正規化係数

✓ この時、Tをかけても同じwが得られる、ということが証明できる。

19

 

 

Page 20: Dbda chap7

推移行列✓ 次のステップでθにいる確率は

✓ P(θ)の大小関係で各項は変化するけど、答えは全部一致する。例として

だとして計算してみると

20

Page 21: Dbda chap7

推移行列

21

✓ 一度ターゲットの分布になるとずっとそのまま

※なぜこの解に収束するのかや本当に解は一つなのか、等は他の論文を参照

Page 22: Dbda chap7

この手法に実行するのに必要なもの✓ (1)提案分布が計算できること

✓ まずはどっちに移動するかの判定のため

✓ 今回はベルヌーイ分布(コイントス)がわかっているかどうか

✓ (2)目標分布の値が計算できること✓ 移動の提案を受け入れるかどうかの判定のため

✓ 今回であればP(θ)の値がわかっているかどうか

✓ (3)一様分布から確率変数を生成できること✓ ※いきなり一様分布が出て来ましたが、移動の判定は、実際には、

[0, 1]の一様分布から確率変数を観測して、その値が、0 ~ P(θproposed)/P(θcurrent)の間であれば移動する、という手続きをとるため一様分布がでてきます

22

本当に綺麗な一様分布が生成できることは前提としている、ということ

一様分布が綺麗にできるかどうかには議論の余地があるため、しばしばこれらの分野ではこの前提が明示されることがあるらしい

Page 23: Dbda chap7

ベイズ推論とのつながり✓ 今回は直接P(θ)から計算したが、目標分布P(θ)は実際は、その値自体は使われていなくて、P(θproposede)/P(θcurrent)のように比の形で使われている

✓ 実質的には P(θproposede)/P(θcurrent) の項はP(θ)に比例するような分布から計算すれば、P(θ)から直接計算しなくても(できなくても)この方法を適用できる

✓ つまり、、、

✓ 目標分布を事後分布p(θ|D)とすれば、ベイズの定理から、

 p(θ|D)∝p(D|θ)p(θ)(事前分布×尤度関数)

だから、p(D|θ)p(θ)からサンプリングを行うことで、先ほどのアルゴリズムを適用でき、p(θ|D)を近似計算することが可能になる

✓ ベイズ推論では、p(D) = ∫ p(D|θ)p(θ) dθの項が、凄い計算が大変だったり、そもそも式が大変なことになってて積分できなかったりする。そういう時に本手法は非常に強力。

23

Page 24: Dbda chap7

具体的にベイズ推論に戻ると✓ 基本的にベルヌーイ分布のパラメータθ(0≦θ≦1)を推定したくて、事後

分布が計算したい。けど分母の積分をしたくない

✓ 目標分布:事前分布×尤度関数(事後分布)

✓ 事前分布:p(θ)~ベータ分布B(θ|1,1)(一様分布)

✓ 尤度関数:p(D|θ):θy(1-θ)1-y

           (N回の内z回表のときの尤度関数は θz(1-θ)N-z )

✓ 提案分布:σ2 = 0.04の正規分布

✓ 最初は14個の観測データがあって、11個の表で3個が裏とする

24

Page 25: Dbda chap7

結果

25

Page 26: Dbda chap7

(1)Estimation✓ 信頼区間の推定

✓ 各θでの相対的な高さを計算して、下から5%を選ぶ

(上から95%を選ぶ)

✓ 平均✓ 得られた点を単純に平均する

26

Page 27: Dbda chap7

(2)Prediction✓ ■次のコインの裏表を予測

✓  p(y|D) = ∫dθ p(y|θ) p(θ|D)

✓ 次にy=1、つまり表が出る確率は

27

θのサンプルの平均になる

Page 28: Dbda chap7

(3)Comparison

✓ これだとp(D|θi)の項がものすごく小さい

✓ そのため、計算がしづらい

28

Page 29: Dbda chap7

29

✓ これだと小さな数字にならずに、計算可能

= = (一定値)

θに依存しないため、積分の中に入れても大丈夫

= 1となる、任意の関数

(3)Comparison