先進基礎データ科学II
ベイズ計測とマルコフ連鎖モンテカルロ法
31M400-0500A
自然科学研究には実験・計測は欠かせない.その実験・計測によって得られるデータの解析もまた研究活動には不可欠である.その解析方法はいつ学ぶのかというと,多くの場合は学生実験や前期課程の統計学であり,そして大学院において研究室でのOn the Job Training(OJT)的な学びになり,近年はそこで機械学習に触れることになるだろう.前期課程の普遍的な統計学と昨今話題の機械学習との間には大きなギャップがあるように見える.本講義では,ベイズ統計の枠組みからデータ科学の手法を概観し,学生実験のときの最小二乗法と研究の現場で行なうベイズ的データ解析の溝を埋め,ベイズ統計の実践的な方法論であるマルコフ連鎖モンテカルロ法の解説を行なう.モンテカルロ法は乱数を使う数値計算手法の総称であるが,特に確率分布からのサンプリング技法としての側面に注目し,その数理から先端的な方法を取り上げる.
データ科学と自然科学
ベイズ統計の基礎: 最適化からサンプリングへ
ベイズ計測 : モデリングと解くことの区別
不確実度の評価 : 誤差評価の意義と意味
マルコフ連鎖モンテカルロ法の基礎
Metropolis-Hastingsの方法: 提案と採択の分離
Gibbs sampling: 採択率1の提案
Hamilton sampling: 物理学ベースの提案
マルコフ連鎖モンテカルロ法の数理
大数の法則: 期待値が評価できる原理
マルコフ連鎖の収束定理: モンテカルロ法が正しい訳
Cheegerの不等式: 難しさの根源
Peskun ordering: よいマルコフ連鎖モンテカルロ法とは
マルコフ連鎖モンテカルロ法の実践と先端的手法
拡張アンサンブル法: 今の業界標準
詳細つりあいの破れる方法: 拡散から弾道へ
再重率法とその応用: 熱力学積分からの解放
ポピュレーションモンテカルロ法
ポピュレーションモンテカルロ法の数理
状態空間モデルへの応用
近似ベイズ計算への応用
講義の概論を説明した後で,ベイズ統計の入門的な話をします.
講義中に触れた文献のなかでオープンなもの
この講義のアンケートを作りました. ご協力頂けると幸いです.
線形回帰を再考します.その後で,スパースモデリングと呼ばれるデータ解析を概観します.
渋い質問をもらった.これは統計力学の問題なので,物理の講義でゆっくり話したい気がする.
「モデル推定と相転移のアナロジーのところで,「状態空間を液相に対応する領域と固相に対応する領域とに適切に分割できると仮定する」というようなことを言っていたと思います.「適切に分割できると仮定する」と言うからにはまあ分割できるのだろうと流していたのですが,よくよく考えるとぜんぜん非自明だなという気がして気になっています.状態空間の状態はミクロなものであるのに対して,液相とか固相とかはマクロな状態に対して定義されるものだと思うので,well-defined に対応づけられるかどうかは自明ではないな,と.」
自明じゃないし,説明も適当でした.もう少し付け加えるなら,何かしらの秩序変数で条件付きの分配関数を考えると,今回の話に自然に繋がりますね.
今日のおしながき
スパースモデリングと事例紹介
L1正則化を用いた例をいくつか紹介して、その成果と不満点を概観する
マルコフ連鎖モンテカルロ法へ
何がしたいかをできるだけ明らかにしながら話をしたい。
Donoho-Tanner転移:こんなページがあった
縦軸と横軸が講義とは逆になっている
紹介した小渕さんたちのTVも含めたCVの論文:ここから見える
池田さんの講演会情報はここからたどれる
固体物理Vol.54 (2019) NO.7に書かれた解説:「走査トンネル分光法の圧縮センシング―計測の効率に関する限界と可能性― 」特に書き出しは最近の機械学習批判のようにも読める。
今日のアンケート:ここから
今回から本当にモンテカルロ法の話に入ります。
ベイズ統計で必要な計算
モンテカルロ法
期待値の計算
Rejection sampling, importance sampling ...
今日はなんだかだらだら話したので反省…
今日の宿題:
期待値の評価式の分散がσ/Rになることを示せ。
Chebyshey不等式を示し、期待値の評価式が期待値に収束することを示せ。
分散が有界でない評価式のときにどうなるか…統計物理の磁性モデルの問題では相転移直上で磁化の分散に相当する磁化率が発散する。例えばそんな量は計算が難しい。。。となる。では、どのくらい難しいか。
ちょっとここから統計物理学の問題になるので、講義では説明しないことにする。有限系の計算では正確には磁化率は発散できない。二次転移の臨界現象の有限サイズスケーリングを仮定すれば、磁化率はL^{\gamma/\beta}で格子系の一片の長さLとともに発散する。つまり、これを凌駕するくらいのサンプル点が必要になるので、必要となるサンプル点はL^{\gamma/\beta}程度必要となる。これはある種の臨界減衰(critical slowing down)と呼ばれる類の困難点である。これはただサンプル点が独立と仮定した場合である。マルコフ連鎖モンテカルロ法の場合には「相関」の効果がL^zとなるために、L^{z+\gamma/\beta}くらい必要ということになる。二次元イジング模型だと、その値はだいたい…2.0...+7/4*8=16くらいになる。これはなかなかしんどい。
切断ガウス分布からのサンプリングをrejection samplingか何かでやってみよう。
例:pythonで書くとこんな感じか。
Googlesiteで数式を書く方法があると便利なんだけど…一方で、pythonのnotebookを貼り付けると、google colaboratoryにつながるといいことあるかな。私はpython nativeじゃないので、書き方にコメントをくれるとうれしい。
Importance samplingも追加.講義では規格化定数の部分を正しく書いていなかった.
正しい規格化定数を求めよ.
修正は上のnotebookに補足.GoogleサイトでもMarkdownが使えて,TeX記法ができると数式もかけるんだけどね...
今日のおしながき
マルコフ連鎖
今日もあんまりすすまなかった。マルコフ連鎖はこんなに説明しなくてもよかったような気もする。普段は3状態の話などしないけど、感じをつかむには大事かと思って話をしました。普段は統計力学の観点でモンテカルロ法を見ていると、今日の○がミクロな状態一つに対応して、それはそれでわかりにくいようにも思っていました。
今日の宿題:
3状態の例の固有値が間違っています。正しく求めてみましょう。
遷移確率行列の以下の性質を示せ
固有値1をもつ
固有値の絶対値は1以下である
講義では1より小さいと言ったけど、間違い。1を含みます
固有値1の固有ベクトルは、それ以外と直交する
これに関して指摘されていて,固有値1以外の固有ベクトルは,固有値1の左固有ベクトルと直行する...が正しいかな.
遷移確率がirreducibilityを満たすとき、最大固有値は縮退しない
今日の資料
MHアルゴリズムの例 (これは次回の話)
今日のおしながき
Metropolis-Hastings algorithm
Gibbs Sampler
Hamilton Sampler
今日の宿題
Metropolis-Hasting型の遷移確率が詳細釣り合いをもつこと確認しよう.
詳細つりあい条件を満たす遷移確率は相似変形で実対称行列になることを示せ.
下のMH法の例で,提案分布を一様分布に変えてみよう.
今日の資料
今日のおしながき
Hamiltonian Monte Carlo method
詳細つりあい条件を満たす遷移確率の一般的な性質
拡張アンサンブル法
今日の宿題
HMCの手続が分布を不変にすることを示そう.具体的には講義で飛ばしたA=Bを示す.
ガウス混合分布に対して,HMCを実際にやってみる.下の例ではガウス分布である.混合分布の例を講義までに作る時間がなかった.うまくできるのだろうか?
上の論文にハミルトンMCのコンダクタンスが定義されている。私は不勉強でよくわかっていない…
今日の資料
今日のおしながき
Cheeger不等式の続き
Peskunの定理
拡張アンサンブル
simulated annealing
simulated tempering
交換法
今日の資料
今日の宿題
宿題というほどではないが、交換法の遷移確率が詳細つりあい条件を満たしていることを説明せよ。交換法のところを提案確率と採択確率に分けてきれいに書くべきですね。熱浴法と呼んでいるところがGibbsサンプラーであることが見えにくくなっているのは、提案確率と採択確率をごちゃごちゃにしているからです。Metropolisはランダムに選んだ二つを交換するという提案に対する採択確率が書かれていて、熱浴法ではランダムに選んだ二つを交換するかしないかを提案する確率が提示してあるということかな。どのように切り分けてもよいのですが、説明が一貫していないところはよくないですね。
いまでこそ,えらそうにHastingsを語るわけですが,物理系の研究者はHastings拡張をちゃんと理解していないことが多いのではないでしょうかね…自分も含めて。
交換法やSTのデモをつくる元気がなかったので、自分で遊んでみよう。
今日のおしながき
拡張アンサンブル法
交換法の実装について
今日の資料
交換するときの二つのペアの提案は講義のときに説明した詳細つりあいを満たしていない提案になっています.偶数ペアと奇数ペアを交互に交換試行をしています.まあいろいろ遊んでみて下さい.
温度は逆温度で等間隔に設定しています.pythonのlinspaceで.設定する温度を変えてみてどうなるか見てみますか?例えば,最高温度を下げてみると失敗するとか...
今日のおしながき
規格化定数の問題
レアイベントのお話
詳細釣り合いを破る話
提出はメールでもよいです.ITC-LMSに出せる人はそちらへ.
アンケートのお願いを忘れていました.