ベイズ学習の勉強に参考になる資料
おつかれさまです.今回はタイトルの通り,ベイズ学習を勉強する上で参考になる教科書やウェブの資料,論文等を紹介したいと思います.
ベイズ学習は確率推論に基づいた機械学習アルゴリズムの構築論です.ベイズ学習を使えば,あらゆる形式のデータに対して,未観測値の予測や隠れた構造を発見するための統一的なアプローチをとることができるため,特に現代の機械学習アルゴリズムを深く理解し使いこなすためには必須の方法論になっています.
1, ベイズ学習の位置づけ
まず,データサイエンスにおける他の方法論と,ベイズ学習の位置づけを簡単に俯瞰したいと思います.
僕の知る限り,ベイズ学習は1990年代ごろから登場してきた機械学習の方法論で,既存の学習アルゴリズムを確率モデルによって構築し,学習や予測の計算をすべて確率推論(条件付き分布と周辺分布の計算)で解決してしまおうという試みによってはじまりました.これにより,従来の学習アルゴリズムの問題点だった過学習,次元の呪いなどをうまく解決できる(あるいは,問題ですらなかった)ことがわかりました.また,既存の手法がベイズ学習の極めて特別な場合であるとして再定義出来ることが多く,k-means,サポートベクターマシン,ニューラルネットワーク,主成分分析などなど,数え上げればキリがないですが,これらはすべて確率モデルとして再構築でき,従来の学習方法のほとんどは対応する確率モデルに対する特別な近似推論であることが示せます.
ちなみに,最近では深層学習の各種の問題点(大量のデータを必要とする,過学習する,不確実性をハンドル出来ない,ニセのデータに騙される)などをベイズ学習の手法でエレガントに解決する方法が提案され始めているほか,深層学習の各種の計算テクニック(ドロップアウトなど)も実はベイズ学習の近似推論計算であったりすることが発見されています.また,次の動画が参考になりますが,深層学習はベイジアンの目からは「高次元データの多層構造による表現を学習する方法」とされており,グラフィカルモデル*1で表現可能なモデルの一つであるという認識になっています.
さて,すべての未知の値の予測を確率計算のみで行ってしまおうというのがいわゆるベイズ主義とされていますが*2,その反対は頻度主義と呼ばれているようです.したがって,データ解析の分野を俯瞰すれば,「頻度主義 or ベイズ主義」×「統計学 or 機械学習」の組み合わせでおおよそコミュニティが分類できるようです*3.統計学と機械学習の違いは微妙ですが,機械学習の場合は画像や音声などを含めたより複雑な構造のデータを解析対象にする傾向があり,それに伴ってコンピュータを使った効率的な計算の実行に焦点が置かれているようです.頻度主義,ベイズ主義の違いをここでは深入りして説明することはしませんが,もし興味があれば次の動画が参考になると思います.
次にベイズ学習に関連する資料をいくつか挙げていきますが,参考書(PRMLとか)によってはベイズ主義と頻度主義がごちゃごちゃに混ざっている場合があるので,内容を理解するためには十分注意した方が良いでしょう.
2, ベイズ学習を勉強するためのお勧め資料
前置きが長くなってしまいましたが,ここでは主にベイズ学習(ベイズ主義機械学習)を勉強する際に参考になる資料を紹介します.
・PRML
Pattern Recognition and Machine Learning | Christopher Bishop | Springer
Chris Bishopによるベイズ学習の決定版の教科書です.とはいえ,機械学習全体をある程度俯瞰するためにも作られたためか,ベイズではない手法も半分くらい混じっています.次に挙げる章が特に重要です.
- 1,2章の確率計算に関する基本
- 3,4章の回帰・識別の基本
- 8章のグラフィカルモデル
- 9章の混合モデル
- 10,11章の近似推論・サンプリング手法
10章の変分推論が理解できれば,12,13章の各種潜在変数モデルを参考にするよりも,後述のBealの博士論文の方が良いと思います.また,ガウス過程(カーネル)の話もRasmussenのテキストの方が詳しいです.
・BDA
Home page for the book, "Bayesian Data Analysis"
Andrew Gelmanらによるベイズ統計の定番書籍です.統計学の本ですが,各種の確率分布の使い方が解説されているのはもちろん,後半の章では次のような機械学習に深く関連する話題がたくさんあります.
・Machine Learning: A Probabilistic Perspective
Machine Learning | The MIT Press
Kevin Murphyによる,現在出版されている中でも最も網羅的な機械学習の解説書です.ページ数が1000を越えているので,これを使って勉強しようっていう人はあんまりいないと思います.リファレンス的に使うのが良く,僕も崩壊型ギブスサンプリングの解説記事を書くときとかはこの本を参考にしました.
・BRML
David Barber : Brml - Home Page browse
Bayesian Reasoning and Machine Learningの略です.なぜかウェブでフルバージョンのPDFがダウンロード出来ます.
・GPML
Gaussian Processes for Machine Learning: Book webpage
Carl Edward Rasmussenらによるガウス過程の解説書です.
・The Matrix Cookbook
ベイズとは直接関係ないですが,行列の展開や微分計算などの便利な公式がたくさん載っています.
・Variational Algorithms for Approximate Bayesian Inference
Matthew J. Beal - Thesis: Matthew J. Beal, Variational Algorithms for Approximate Bayesian Inference
隠れマルコフモデル等に対する変分推論や初期の平均場近似の使い方の解説記事として良くまとまっています.
・Introduction to Probabilistic Topic Models
http://menome.com/wp/wp-content/uploads/2014/12/Blei2011.pdf
トピックモデルのみの短い解説記事ですが,実際の課題に対してどのように確率モデルを構築・拡張するのか簡単に俯瞰できる内容になっています.
・Nonparametric Bayes Tutorial
http://stat.columbia.edu/~porbanz/npb-tutorial.html
ベイジアンノンパラメトリクスに関する解説記事・論文が網羅されています.
・Probabilistic Modelling and Bayesian Inference
http://mlss.tuebingen.mpg.de/2013/2013/Ghahramani_slides1.pdf
ベイズ学習の解説スライドで,基本的な思想や利点などが説明されています.
まとめ
以上の教科書や解説記事は,それぞれの分野のパイオニアたちが執筆した極めて品質の高い資料であるため,アルゴリズムを開発したり調べ物をする際にはとても参考になると思います.他にも秀逸な記事がありましたらご提案いただけたらと思います.
ただし,ここまで色々挙げといてあれですが,最も大事なことはここで挙げた教科書等を100%完璧に理解してやろうなどと思わないことです.正直なところ,僕も紹介した参考文献の10%~20%くらいしかちゃんと読んでいない気がします.最も効率的なやり方は,業務や研究活動で実際に直面している課題に合わせて,基礎内容の勉強,応用事例の調査,実装と動作の確認をバランス良く繰り返していくことです.そのような実務的なプロセスを通すことによって,アルゴリズム開発者の抱える多くの「○○○がしたい!」にとことん応えてくれるベイズ学習の包容力に気づかされることになると思います.
日本語で書かれた参考文献がほしい!という方には,次のような入門書もあります.