1 / 91

完璧にサンプリングしよう!

数理 情報科学特別講義(慶應・院・数理). July 26, 2012. 完璧にサンプリングしよう!. -- 過去からのカップリング. 来嶋秀 治 九州大学 大学院システム情報科学研究院 情報学部門. -7: マルコフ連鎖を用いたサンプリング法. 0.2. s 1. 0.2. 0.4. 0.4. 0.1. 0.6. s 2. s 3. 0.2. 0.3. 0.6. 状態遷移図. マルコフ連鎖の定常分布. マルコフ連鎖 M ( 有限状態 , 離散時間 ; エルゴード的 )

alton
Download Presentation

完璧にサンプリングしよう!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数理情報科学特別講義(慶應・院・数理) July26, 2012 完璧にサンプリングしよう! -- 過去からのカップリング 来嶋秀治 九州大学 大学院システム情報科学研究院 情報学部門

  2. -7: マルコフ連鎖を用いたサンプリング法

  3. 0.2 s1 0.2 0.4 0.4 0.1 0.6 s2 s3 0.2 0.3 0.6 状態遷移図 マルコフ連鎖の定常分布 • マルコフ連鎖 M (有限状態, 離散時間; エルゴード的) • 状態空間: = {s1,s2,s3} (有限) • 推移規則: 推移確率行列 P Pij := Pr(推移 i  j) • 例 次の時刻の状態 s1 s2 s3 s1 s2 P = 現在の状態 s3

  4. 0.2 s1 0.2 0.4 0.4 0.1 0.6 s2 s3 0.2 0.3 0.6 状態遷移図 マルコフ連鎖の定常分布 • マルコフ連鎖 M (有限状態, 離散時間; エルゴード的) • 状態空間: = {s1,s2,s3} (有限) • 推移規則: 推移確率行列 P Pij := Pr(推移 i  j) • 定常分布:  •   P = , || = 1,   0 • 例 P =  = (1/7, 2/7, 4/7)

  5. マルコフ連鎖の極限分布 任意の初期状態 推移を繰り返す 状態を出力 状態空間 x x x ・・・ x x 漸近的に定常分布

  6. MCMC法のアイデア • 所望の分布を定常分布にもつマルコフ連鎖を設計する. • 十分な回数推移させて,定常分布からサンプリングする. 状態空間 x x x ・・・ x x  (漸近的に)所望の分布に従うサンプリング (1回) を実現

  7. MCMC法の特長と応用 • 特長 • “正規化定数”を知らなくてもサンプリングできる • 定常分布を“設計”する容易な方法が存在する • M-H法, Gibbsサンプラーなど • 応用/実用例 • Isingモデルの分配関数 • 画像処理 • 分割表の正確検定 • モンテカルロ積分 • 最適化算法,etc. • 素朴, • 汎用的, • 強力 実用的

  8. MCMC法の具体例 -6: 2行分割表の一様ランダム生成 with 松井知己(中央大学 理工学部 情報工学科)

  9. 例: 2行分割表のランダム生成 • 2元分割表 • 各セルには非負整数が入る • (与えられた)周辺和を満たす • 問題 • Given: 周辺和 • 出力: 分割表の一様ランダム生成

  10. 例: 2行分割表のランダム生成 • 2元分割表 • 各セルには非負整数が入る • (与えられた)周辺和を満たす 状態A 状態B 状態C • 問題 • Given: 周辺和 • 出力: 分割表の一様ランダム生成

  11. 例: 2行分割表のランダム生成 • 2元分割表 • 各セルには非負整数が入る • (与えられた)周辺和を満たす • 与えられた周辺和を満たす2行分割表の個数を求める問題 • #P完全 (NP困難) [‘97 Dyer, Kannan, & Mount] • 問題 • Given: 周辺和 • 出力: 分割表の一様ランダム生成 マルコフ連鎖を用いた サンプリング法

  12. j j+1 1/4 1/4 1/4 1/4 例: 2行分割表に対するマルコフ連鎖 [K & Matsui ‘06] • j 列目(とj+1列目)を • 1/(n –1)の確率で選ぶ。 • j列目と j+1列目に対して • 推移可能な状態に • 等確率で推移する。 +

  13. 提案するマルコフ連鎖の特徴 エルゴード的 • 有限 • 既約 • 非周期 • 定理 • 提案したマルコフ連鎖の定常分布は一様分布である. 略証: (X, Y), P(X, Y) > 0  P(Y, X) > 0 かつ P(X, Y) = P(Y, X) X Y (detailed balance equation(X) P(X, Y) = (Y)P(Y, X) )

  14. 「マルコフ連鎖を用いたサンプリング法」のアイデア「マルコフ連鎖を用いたサンプリング法」のアイデア • 目的の分布を定常分布にもつマルコフ連鎖を設計する。 • 十分な回数推移させて、定常分布からサンプリングする。 状態空間 x x x ・・・ x x 漸近的に定常分布

  15. 「マルコフ連鎖を用いたサンプリング法」のアイデア「マルコフ連鎖を用いたサンプリング法」のアイデア • 目的の分布を定常分布にもつマルコフ連鎖を設計する。 • 十分な回数推移させて、定常分布からサンプリングする。 状態空間 x x x ・・・ x x 漸近的に定常分布=> 有限回で停止すると誤差が生じる

  16. 研究の主題 「十分な回数推移させて,定常分布からサンプリングする.」  何回推移させれば十分か? • 近似サンプリング • total variation distance • mixing time • 完璧サンプリング(定常分布に厳密に従う) • CFTP (Coupling From The Past) • マルコフ連鎖のシミュレーション法を工夫 • 定常分布に厳密に従う

  17. イントロダクション続く -5: マルコフ連鎖の収束

  18. 研究の主題 「十分な回数推移させて,定常分布からサンプリングする.」  何回推移させれば十分か? • 近似サンプリング • total variation distance • mixing time • 完璧サンプリング(定常分布に厳密に従う) • CFTP (Coupling From The Past) • マルコフ連鎖のシミュレーション法を工夫 • 定常分布に厳密に従う

  19. Mixing time   ,: 状態空間  上の分布 prob. Error • Total variation distance  マルコフ連鎖 M (状態空間 , 推移確率 P, 定常分布 ) • Mixing time • rapidly mixing if()  poly.(log , –1)

  20. 「2元分割表のランダム生成法」に関連する研究「2元分割表のランダム生成法」に関連する研究 1985, Diaconis & Effron, 2元分割表の検定法の提案, 1995, Diaconis & Saloff-Coste, m* n* 分割表の近似一様生成, (1996, Propp & Wilson, CFTPアルゴリズム,) 1997, Dyer, Kannan & Mount, 2行分割表の #P完全性, 2000, Dyer & Greenhill, 2 n分割表の近似一様生成, O(n2 log(N-1)) 2002,Cryan et al., m* n分割表の近似一様生成, O(nm2 log(N -1)) 2006, Kijima & Matsui, 2 n分割表の厳密一様生成, O(n3 log N) ⇒ mn分割表の多項式時間近似一様生成はmajor open problem

  21. 本題 「十分な回数推移させて,定常分布からサンプリングする.」  何回推移させれば十分か? • 近似サンプリング • total variation distance • mixing time • 完璧サンプリング • CFTP (Coupling From The Past) • 無限回の推移の後の状態を実現    定常分布に厳密に従う 誤差パラメータを自分で設定する必要がない。

  22. -4: Coupling From The Past • Propp and Wilson (1996) • マルコフ連鎖のシミュレーションを工夫 • (更新関数を利用)

  23. s1 s2 s3 1/3 更新関数 (update function) • マルコフ連鎖 MC (エルゴード的) • 状態空間: s1, s2, s3 ; 有限 (3 状態) • 推移規則: 乱数   {1,…,6} に対して決まる。 1/6 1/2 1/2 1/6 1/2 1/3 1/6 1/3

  24. 例 5 s2 s1 s1 s1 s2 s3 s3 s2 s3 時刻 t t +1 1/3 更新関数 (update function) • マルコフ連鎖 MC (エルゴード的) • 状態空間: s1, s2, s3 ; 有限 (3 状態) • 推移規則: 乱数   {1,…,6} に対して決まる。 1/6 1/2 1/2 1/6 1/2 1/3 1/6 1/3 更新関数 現在の状態 乱数

  25. 有限離散の状態空間  更新関数 st(x,) エルゴード性を満たす。 マルコフ連鎖 MC: CFTPアルゴリズムと定理 時刻 s, 状態 x から 時刻 t まで推移 (乱数列 ) • CFTPアルゴリズム • set T = –1;set : 空列; • generate [T] : 乱数; put  := ( [T], [T + 1], …, [–1] ); •  の全ての状態について、時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1 ; step2.に戻る; CFTP定理 上のアルゴリズムが停止して値を返す時、 その値はマルコフ連鎖 Mの定常分布に厳密に従う確率変数を実現する。

  26. 時刻 –6 –5 –4 –3 –2 –1 0 T = – 1からのシミュレーション • set T = –1;set : 空列; s1 s2 s3

  27. 時刻 –6 –5 –4 –3 –2 –1 0 T = – 1からのシミュレーション • generate (T): 乱数; • put  := ( (T), (T+1),…,(–1) ); (–1) = 5 s1 s2 s3

  28. s1 s2 時刻 –6 –5 –4 –3 –2 –1 0 T = – 1からのシミュレーション •  の全ての状態について、 • 時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 5 s1 s2 s3

  29. s1 s2 時刻 –6 –5 –4 –3 –2 –1 0 T = – 1からのシミュレーション •  の全ての状態について、 • 時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 5 • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1; step2.に戻る; s1 s2 s3

  30. 時刻 –6 –5 –4 –3 –2 –1 0 T = – 2からのシミュレーション •  の全ての状態について、 • 時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 5 • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1; step2.に戻る; s1 s2 s3

  31. 時刻 –6 –5 –4 –3 –2 –1 0 T = – 2からのシミュレーション • generate (T): 乱数; • put  := ( (T), (T+1),…,(–1) ); (–2) = 2 5 s1 s2 s3

  32. s1 s1 s1 s1 s2 s2 s2 s2 s2 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 T = – 2からのシミュレーション •  の全ての状態について、 • 時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 2 5 • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1; step2.に戻る; s1 s2 s3

  33. s1 s1 s2 s2 s2 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 T = – 3からのシミュレーション • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1; step2.に戻る; 3 2 5 s1 s2 s3

  34. s1 s2 s2 s2 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 T = – 4からのシミュレーション 6 3 2 5 s1 s2 s3

  35. s1 s2 s2 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 T = – 4からのシミュレーション • if coalesce (y, x, y = T0(x,))  return y; 6 3 2 5 s1 出力 s2 s2 s2 s3

  36. 有限離散の状態空間  更新関数 st(x,) エルゴード性を満たす。 マルコフ連鎖 MC: CFTPアルゴリズムと定理 時刻 s, 状態 x から 時刻 t まで推移 (乱数列 ) • CFTPアルゴリズム • set T = –1;set : 空列; • generate [T] : 乱数; put  := ( [T], [T + 1], …, [–1] ); •  の全ての状態について、時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1 ; step2.に戻る; CFTP定理 上のアルゴリズムが停止して値を返す時、 その値はマルコフ連鎖 Mの定常分布に厳密に従う確率変数を実現する。

  37. CFTPのアイデア • 仮想的に無限の過去から推移を続けるマルコフ連鎖を考える。 • 現在(時刻0)の状態は定常分布に厳密に従う。 • 現在(時刻0)の状態は何か? • 最近の乱数列から推定する。 • ⇒ 現在の状態を一意に特定する証拠を見つける。 • coalescence • => 乱数列と対応する推移に依存

  38. s1 s2 s2 s2 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 CFTPのアイデア 4 1 6 3 2 5 s1 s1 s1 s1 s1 s1     s2 s2 s2 s2 s3 s3 s3 s3 s3

  39. unique state at 0 s1 s1 s2 s2 s2 s2 s2 s2 s2 coalesce s3 s3 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 CFTPのアイデア 初期状態を知る必要がない !! 4 1 6 3 2 5 s1 s1 s1 s1 s1 s1 s1     s2 s2 s2 s2 s2 s3 s3 s3 s3 s3 s3

  40. unique state at 0 s1 s1 s2 s2 s2 s2 s2 s2 s2 coalesce s3 s3 s3 s3 s3 s3 時刻 –6 –5 –4 –3 –2 –1 0 CFTPのアイデア シミュレーションの開始時刻は、時刻0の状態に影響を及ぼさない 4 1 6 3 2 5 s1 s1 s1 s1 s1 s1 s1     s2 s2 s2 s2 s2 s3 s3 s3 s3 s3 s3

  41. 有限離散の状態空間  更新関数 st(x,) エルゴード性を満たす。 マルコフ連鎖 MC: CFTPアルゴリズムと定理 時刻 s, 状態 x から 時刻 t まで推移 (乱数列 ) • CFTPアルゴリズム • set T = –1;set : 空列; • generate [T] : 乱数; put  := ( [T], [T + 1], …, [–1] ); •  の全ての状態について、時刻 Tから 0 まで を用いて • マルコフ連鎖 MCを推移させる。 • if coalesce (y, x, y = T0(x,))  return y; • otherwise, set T := T – 1 ; step2.に戻る; CFTP定理 上のアルゴリズムが停止して値を返す時、 その値はマルコフ連鎖 Mの定常分布に厳密に従う確率変数を実現する。

  42. Markov chain si→sj、λ∈Z, j= median{1, i+λ, 5}  period –6 –5 –4 –3 –2 –1 0 The image of monotone CFTP +1 – 2 0 – 2 +1 +2 s1 s1 s1 s1 s1 s1 s1 s2 s2 s2 s2 s3 s2 s2 s3 s3 s3 s3 s3 s3 s3 s4 s4 s4 s4 s4 s4 s4 s5 s5 s5 s5 s5 s5 s5

  43. -3: 単調CFTP • coalescenceの確認は困難 • 状態数 || に比例する計算が必要 • 単調性の導入

  44. 有限離散の状態空間  更新関数 (x,) マルコフ連鎖 MC: 単調マルコフ連鎖 • 単調マルコフ連鎖 (monotone Markov chain) • 状態空間中に半順序関係が存在する。 (, ) • 最大元と最小元が存在する。 ! xmax, xmin , x  , xmaxx xmin • 推移規則が半順序関係を壊さない。 x, y  , , x y  (x,)  (y,) CFTPアルゴリズム Read Once アルゴリズム Fillのアルゴリズム 効率的なアルゴリズム

  45. period –6 –5 –4 –3 –2 –1 0 Markov chain si→sj, λ∈Z, The image of monotone CFTP j= median{1, i+λ, 5} +1 – 2 0 – 2 +1 +2 s1 s1 s1 s1 s1 s1 s1 s2 s2 s2 s2 s3 s2 s2 s3 s3 s3 s3 s3 s3 s3 s4 s4 s4 s4 s4 s4 s4 s5 s5 s5 s5 s5 s5 s5

  46. period –6 –5 –4 –3 –2 –1 0 Markov chain si→sj, λ∈Z, The image of monotone CFTP j= median{1, i+λ, 5} +1 – 2 0 – 2 +1 +2 s1 s1 s1 s1 s1 s1 s1 s2 s2 s2 s2 s3 s2 s2 s3 s3 s3 s3 s3 s3 s3 s4 s4 s4 s4 s4 s4 s4 s5 s5 s5 s5 s5 s5 s5

  47. -2: 2行分割表のPerfect Sampling with 松井知己(中央大学 理工学部 情報工学科)

  48. j j+1 1/4 1/4 1/4 1/4 再掲: マルコフ連鎖 • j 列目(とj+1列目)を • 1/(n –1)の確率で選ぶ。 • j列目と j+1列目に対して • 推移可能な状態に • 等確率で推移する。 +

  49. j j+1 1/4 1/4 1/4 1/4 マルコフ連鎖(更新関数) • 実数乱数   [1, n) を生成。 • j =  とする。 • X (1, j) = max. – ’ • : 推移可能な状態数 • ’:=  – • max.: X [1, j] の最大値 • j 列目(とj+1列目)を • 1/(n –1)の確率で選ぶ。 • j列目と j+1列目に対して • 推移可能な状態に • 等確率で推移する。 +

  50. サンプリングアルゴリズム (単調CFTPアルゴリズム) • set T = –1; set : 空列; • generate [T]  [1, n):一様実数乱数; put  := ( [T], [T+1],…,[–1] ); • XU, XLについて、時刻 Tから 0 まで を用いて推移。 • if coalesce on Y  return Y; • otherwise, set T := T – 1; 2.に戻る; XU : N-W表 定理: 提案したアルゴリズムにより 2 n分割表のPerfect Sampling が行える。 XL : N-E表

More Related