読者です 読者をやめる 読者になる 読者になる

old school magic

機械学習と統計とプログラミングについてちょっとずつ勉強していきます。

「パターン認識と機械学習」に挑戦 その1 ベイズ理論あたり(8章から11章まで)

機械学習

前回までいくつか機械学習の入門書を読み、今なら多少読めるのではとPRMLに挑んでみました。
目標はPRML/course - 機械学習の「朱鷺の杜Wiki」で紹介されてる中間(修士)レベルです。

どこから読もうかと考えたのですが、上巻は以前読ん(で死ん)だので下巻、それも機械学習の入門書だと省かれることの多いベイズ理論あたりに挑戦しました。

PRMLの下巻は6章と7章がSVM関係、8章から11章までがベイズ理論関係、12章が主成分分析、13章が隠れマルコフモデル、14章が決定木と言った構成となっています。
(ちなみに上巻は1章が機械学習の基礎、2章が確率分布、3章と4章が線形回帰/識別モデルの基礎、5章がニューラルネットワークです。)

「はじめてのパターン認識」では、線形モデルを最小二乗法からニューラルネットワークSVMといった流れで説明し、後半でEMアルゴリズムや主成分分析、決定木を個別に扱っていました。
前半の線形モデルの説明の流れはとてもわかり易いのですが、ベイズ理論でこれにあたるのがPRML下巻の8章から11章だと思います。というわけでこの4章を通して読んだので、その時にどういった資料を参考にしたかを書いていきます。

全体の流れ

ベイズ理論の機械学習への応用例として、現在大きく分けて2つの手法に分けられます。変分推論(10章)とサンプリング法(11章)です。
入門書でも扱われることの多いk-Means法やEMアルゴリズム(9章)は、変分推論の特別なケースであると考えられます。
また、変分推論とサンプリング法は条件付き確率や同時分布を扱うのですが、これを視覚的に扱えるように考案されたのがグラフィカルモデル(8章)です。

まず8章で確率に対する感覚を養い、9章でk-MeansやEMアルゴリズムを学び、10章でこれらをベイズ的な枠組みで一般化します。この流れで変分推論に対する理解を深めるのがPRMLの目的だったんですね...

変分推論は決定論的なアプローチであり、解析的に計算可能な近似をすることで、大規模な問題にも適用可能な手法です(と言ってもEMアルゴリズムは1次収束ですが)。
これに対し、サンプリング法は数値的なアプローチで近似することを考えます。これは計算量こそ変分推論より多いですが、より一般的に分布の近似に用いることができます。ちょうど長所と短所が対照的になっている訳ですね。
11章では変分推論への対比を意識しつつサンプリングを学びます。

8章

この章は計算もほとんどなく、事前知識も必要ないため、頑張れば他の資料に頼らなくても読み進めることができると思います。
それでも細かい疑問が多かったのですが、sleepy_yoshiさんのPRML読書会での資料(PRML読書会10回: 第8章グラフィカルモデル (前半) - 睡眠不足?!,
第11回PRML読書会: 第8章グラフィカルモデル (後半) - 睡眠不足?!)が多いに参考になりました。素晴らしいです。

9章, 10章

k-MeansからEMアルゴリズム、変分推論と一般化させつつ学ぶのが理解の助けになると思います。
k-MeansやEMアルゴリズムは他の入門書でも紹介されることが多いのでなんとなく理解できていたのですが、それでも何度も諦めそうになるくらい式変形が鬼でした。PRML副読本が式変形を丁寧に追っかけてくれています。

パターン認識と機械学習の学習―ベイズ理論に挫折しないための数学

パターン認識と機械学習の学習―ベイズ理論に挫折しないための数学

(pdf版がgithubで公開されています。 -> herumi/prml · GitHub)
amazonだと品切れですが、他サイトでは注文できるみたいです。(詳しくは【PRML同人誌】パターン認識と機械学習の学習-ベイズ理論に挫折しないための数学(光成 滋生 著)を参照)
ジュンク堂紀伊国屋だと売ってたりします。

この辺りはちゃんと手計算で追えるようになりたいです。2週目で頑張ります。

また、上田修功先生が電子情報通信学会誌で連載されていたベイズ学習というシリーズが大変わかりやすかったのですが、有料(CiNiiに登録が必要)なので環境がある人は是非。

11章

サンプリングの話です。計算もさることながら概念が掴みにくいと思います。(僕もまだちゃんとわかってない...)
伊庭幸人先生が電子情報通信学会で執筆されたCiNii 論文 -  最近のベイズ理論の進展と応用[V・完] : モンテカルロ法の展開がとてもわかりやすかったのですが、これも有料ですね...

代わりに、伊庭先生の「ベイズ統計と統計物理」という本にサンプリングについてわかりやすい説明があったので紹介させて頂きます。

岩波講座 物理の世界 物理と情報〈3〉ベイズ統計と統計物理

岩波講座 物理の世界 物理と情報〈3〉ベイズ統計と統計物理

変分推論やサンプリング法は統計物理に起源があり、この本では統計物理の観点からサンプリング法について説明しています。100Pくらいの本で大変読みやすいので是非。
なお、変分推論は物理学の文脈だと「平均場近似」だと言うそうです。(この本には載っていませんが)

もう一歩進んで

変分推論やサンプリングの話が分かると、最近の手法であるCollapsed Variational Bayes(CVB, 崩壊変分推論?周辺化変分推論だそうです)やノンパラメトリックベイズも理解できるようになると思います。

CVBは上田先生のCiNii 論文 -  最近のベイズ理論の進展と応用[IV] : 変分ベイズ法(有料)に、
ノンパラメトリックベイズは持橋先生の最近のベイズ理論の進展と応用 (III) ノンパラメトリックベイズ(無料公開されてる!!)に説明があります。

電子情報通信学会の「最近のベイズ理論の進展と応用」は他にも階層ベイズ(8章に関係)や逐次推論の話もあり、かなり参考になりました。

他の資料

まだ読めていないのですが、さらに詳しく知りたい場合は以下の本が参考になりそうです。

計算統計 I―確率計算の新しい手法 (統計科学のフロンティア 11)

計算統計 I―確率計算の新しい手法 (統計科学のフロンティア 11)

計算統計 2 マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア 12)

計算統計 2 マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア 12)

計算統計学の方法―ブートストラップ・EMアルゴリズム・MCMC (シリーズ予測と発見の科学 5)

計算統計学の方法―ブートストラップ・EMアルゴリズム・MCMC (シリーズ予測と発見の科学 5)

絶版になってしまっているのもあるので、図書館で探してみるのもありだと思います。

今回はベイズ統計の中でも機械学習に関係する部分だけを拾ってきた形になるわけですが、ここまで勉強するとベイズ統計自体にも興味が湧いてきます。

ベイズ統計の理論と方法

ベイズ統計の理論と方法

渡辺先生はとてもわかり易く説明なさるので、この本にもぜひ挑戦してみたいと思います。

最後に

変分推論やサンプリングについて、なんとなくわかった気はするのですが...まだ実感がないのでしばらくはRで実装して理解を深めていこうと考えています。
来年にでも二周目に挑戦したいです。