見出し画像

書記の読書記録#1044『ゼロからできるMCMC マルコフ連鎖モンテカルロ法の実践的入門 (KS理工学専門書)』

花田 政範松浦 壮『ゼロからできるMCMC マルコフ連鎖モンテカルロ法の実践的入門 (KS理工学専門書)』のレビュー


レビュー

難易度は鎌谷『モンテカルロ統計計算』とほぼ同程度で,こちらの方がメトロポリス法に至るまでが早い。後半の応用例には高度な物理学も含ま興味深い。


もくじ

Chapter 1 なぜマルコフ連鎖モンテカルロ法が必要なのか

1.1 確率と期待値
1.2 どうやって計算するか ~次元の呪い

Chapter 2 そもそもモンテカルロ法とは

2.1 そもそも乱数とは
2.1.1 一様乱数
2.1.2 ガウス乱数(正規乱数)
2.1.3 乱数と擬似乱数の違い
2.2 一様乱数を用いた積分
2.2.1 一様乱数を用いた円周率の計算
2.2.2 一様乱数を用いた定積分
2.2.3 ガウス積分 ~重点サンプリングが重要になる例
2.3 期待値と積分
2.4 ガウス乱数を用いた期待値の計算
2.4.1 ボックス・ミュラー法
2.4.2 ガウス分布から得られる期待値
2.5 ランダム性が本質的な例

Chapter 3 マルコフ連鎖モンテカルロ法の一般論

3.1 マルコフ連鎖
3.2 既約性
3.3 非周期性
3.4 詳細釣り合い条件

Chapter 4 メトロポリス法

4.1 メトロポリス法
4.2 期待値の計算の具体例
4.3 自己相関
4.3.1 初期値との相関とシミュレーションの熱化
4.3.2 自己相関
4.3.3 自己相関長とジャックナイフ法
4.3.4 ステップ幅の調整
4.3.5 ボックス・ミュラー法再訪 ~「乱数」と「自己相関」
4.4 ガウス分布以外の例
4.5 複雑な数値積分への応用
4.6 負符号問題
4.7 よくある間違い
4.7.1 シミュレーションの途中でステップ幅を変えてしまう
4.7.2 異なるステップサイズで得られた配位を混ぜてしまう
4.7.3 「乱数」が乱数でなかった

Chapter 5 多変数のメトロポリス法

5.1 多変数のガウス分布

Chapter 6 よく使うアルゴリズムとその使用例

6.1 HMC 法
6.1.1 物理の直観に基づく理解
6.1.2 リープフロッグ法
6.1.3 マルコフ連鎖モンテカルロ法の条件を満たしていることの確認
6.1.4 一変数のHMC
6.1.5 多変数のHMC
6.1.6 パラメーターの調整
6.1.7 変数ごとにステップ幅を変えてみる
6.1.8 デバッグに関する注意
6.2 ギブスサンプリング法(熱浴法)
6.2.1 二変数ガウス分布の場合
6.2.2 一般の多変数の場合
6.2.3 実際のシミュレーションの例
6.3 メトロポリス・ヘイスティングス法(MH 法)
6.3.1 メトロポリス法と比較した時の利点
6.3.2 ギブスサンプリングがMH 法の例になっていること
6.3.3 HMC 法もMH 法の例になっていること
6.3.4 素朴なMH 法の使用例
6.4 異なるアルゴリズムの併せ技

Chapter 7 マルコフ連鎖モンテカルロ法の応用例

7.1 尤度とベイズ統計
7.1.1 「もっともらしさ」を定義する
7.1.2 尤度の計算 ~ガウス分布を例に
7.1.3 ベイズ統計
7.1.4 ベイズの定理
7.1.5 マルコフ連鎖モンテカルロ法によるベイズ更新の例
7.2 イジング模型
7.2.1 メトロポリス法
7.2.2 ギブスサンプリング(熱浴法)
7.2.3 シミュレーションの具体例
7.2.4 臨界減速とクラスター法
7.2.5 Wolff のアルゴリズム
7.3 組合せ最適化と巡回セールスマン問題
7.3.1 関数の最小化と局所最適解の問題
7.3.2 焼きなまし法
7.3.3 レプリカ交換法
7.4 素粒子物理学への応用
7.4.1 量子色力学(QCD)
7.4.2 超弦理論とホログラフィー原理
7.4.3 更なる効率化

Appendix

A サンプル・プログラムのリスト
A1 サンプル・プログラムの入手方法
A2 モンテカルロ法(マルコフ連鎖モンテカルロ法以外)
A3 メトロポリス法
A4 HMC 法
A5 ギブスサンプリング法(熱浴法)
A6 併せ技
A7 クラスター法
A8 レプリカ交換法
B 数学関係の補足
B1 行列
B2 ガウス積分
C ハミルトン方程式
D ジャックナイフ法
E 共役勾配法(CG 法)
E1 BiCG 法
E2 Multi-mass CG method


本記事のもくじはこちら:


学習に必要な本を買います。一覧→ https://www.amazon.co.jp/hz/wishlist/ls/1XI8RCAQIKR94?ref_=wl_share