【書籍紹介】Machine Learning : A Probabilistic Perspective 機械学習の教科書/リファレンス本の新定番
メルマガで先月からscikit-learnを取り上げ始め、ブログの方でもコンピュータビジョン以外のものも含めて機械学習も記事としてとりあげる対象にしたこともあり(リニューアルについて説明した先月の記事)、私も発売当時から愛用している、以下の機械学習のリファレンス本を紹介します。
Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)
本書は、元カナダのブロティッシュコロンビア大学に居て、現在はGoogleで働いているKevin Patrick Muryphy先生が書いて2012年に発売された、機械学習のリファレンス本/教科書です。同年に発売されたベイジアンな人は必携と思われる「Bayesian Reasoning and Machine Learning (書籍サイト)」と並んで、英語圏の上位の大学では、機械学習の授業の教科書に採用されている例が増えています(例;Cambridge大のMachine Learning)。
PRML本のような和訳がまだされていないので、英語が得意ではない方ですと、本書の存在も知らなかった方もいるかもしれません。本書は網羅性が高くて説明が学部生向けの平易さを重視してあり、またベイジアンと頻度主義の中間を行く説明ポリシーで多数のアルゴリズムを統一的に捉えている意味で、とても良い機械学習のレファレンス本だと思います。
以下のサイトがこの本の公式サイトです。(※私はKindle版を持っています)
Machine Learning: a Probabilistic Perspectiveの書籍サイト
著者による「本書の特徴」
まずはこのサイトに著者が示してある、この本の特徴を以下にまとめます。その後、私の本書の書評へと続きます。(サイト中の”Endorsements”も眼を通してみてください。)
”Comparison to other books on the market”に著者が書いてあることを、以下に引用します。(MLaPPはこの本のタイトルを省略したもの)
- MLaPP is more accessible to undergrads. It pre-supposes a background in probability, linear algebra, calculus, and programming; however, the mathematical level ramps up slowly, with more difficult sections clearly denoted as such. This makes the book suitable for both undergrads and grads. Summaries of the relevant mathematical background, on topics such as linear algebra, optimization and classical statistics make the book self-contained. 本書は(これまでの本より)学部生が読みやすくなっています。確率論、線形代数、微積分、プログラミングなどの背景知識について確認しながら、少しずつ内容を難しいセクションへと到達していきます。これにより学部生や修士生が読みやすくなっています。線形代数や最適化、古典統計などを本の中に含めることで、本書だけで成り立つようにしています
- MLaPP is more practically-oriented. In particular, it comes with Matlab software to reproduce almost every figure, and to implement almost every algorithm, discussed in the book. It includes many worked examples of the methods applied to real data, with readable source code online. 本書は実践指向です。特に、Matlabのソフトウェアを用意していて、本書で議論されているほとんどのアルゴリズムを実装できるようにしています。実データに応用できる方法の多くのサンプルコードを含み、オンラインでもそのソースコードを読めるよめるようにしています。
- MLaPP covers various important topics that are not discussed in these other books, such as conditional random fields, deep learning, etc. 本書は他のリファレンス本がまだとりあげた事がない重要なトピック(例;Conditional Random FieldやDeep Learning)をとりあげています。
- MLaPP is “more Bayesian” than the Hastie or Wasserman books, but “more frequentist” than the Bishop book. In particular, in MLaPP, we make extensive use of MAP estimation, which we regard as “poor man’s Bayes”. We prefer this to the regularization interpretation of MAP, because then all the methods in the book (except cross validation…) can be viewed as probabilistic inference, or some approximation thereof. The MAP interpretation also allows for an easy “upgrade path” to more accurate methods of approximate Bayesian inference, such as empirical Bayes, variational Bayes, MCMC, SMC, etc. 本書はWassermanの本(All of Statistics: A Concise Course in Statistical Inference
)よりは「ベイジアン」であり、Bishopの本(PRML本)よりは「頻度主義」である。(つまりは両者の中間くらいだと主張している)とくに、本書ではMAP推定の使い込みを行っており、それを我々は「poor man’s Bayes」とみなしています。我々はこれよりは、MAP推定の正則化としての解釈を好んでいます。なぜなら、本書の全ての方法(交差検定だけは例外)は、確率的推定、もしくは確率的推定の近似として見ることが可能であるからである(※これが本のタイトルが”Probablistic Perspecitveな理由)。MAP推定として解釈することにより、近似的ベイズ推定(経験ベイズ、変分ベイズ、MCMC,SMCなど)への易しい「アップグレードの道」を提供することになる。
- The emphasis is on simple parametric models (linear and logistic regression, discriminant analysis/ naive Bayes, mixture models, factor analysis, graphical models, etc.), which are the ones most often used in practice. However, we also briefly discuss non-parametric models, such as Gaussian processes, Dirichlet processes, SVMs, RVMs, etc. 実用で非常によく使われているような、単純なパラメトリックモデル(線形回帰とロジスティック回帰、判別分析/ナイーブベイズ、混合モデル、因子分析、グラフィカルモデルなど)について強調している。しかし、一方でノンパラメトリックモデル(ガウス過程、ディリクレ過程、SVMs ,RVMsなど)についても簡潔に議論している.
私による書評
著者による特徴説明で特徴をつかめたと思いますので、ここからは私の書評(もとい今までリファレンス本として用いてきた感想?)を同じくリスト形式で書きます。(Amazon.comの本書のレビューも参考ください。勉強中の私とは違って、機械学習や統計がほんとの専門の方と思われる方からのレビューが数多くあります)
- 各章の冒頭の”introduction”、直感的で体系的な説明が秀逸です。例えば7章の「Linear Regression」では、線形回帰関数が機械学習での「work horse (働き者)」という比喩がされていたりして、どのあるゴリズムがどれくらいの重要度があって、どういう
- 直感的説明と連携して、「段階的に学んで難しくなっていく」章構成が秀逸です。28章ある構成の10章で「Directed Graphical Models」が登場するのですが、これは指向性グラフを早めに紹介しておくと、多くの確率的な推定モデルがグラフを通して理解しやすいからです。一方で「Undirected Graphical Models」は19章まで出てこないというように、似た者同志で固めるのではなく、あくまで「段階的に学べる(=全体像を掴める)」という構成になっているといえます。
- 以下の章あたりが個人的には他のリファンス書にあまりうまくまとまっていないカテゴリーで本書があるとカテゴリーの全体感が本書のみで(短時間に)得やすいものと感じます
13章 Sparse Linear Models(Lasso系の話は頻度主義よりの本でもベイズ主義よりの本でも取り上げられないので貴重です。最後にちょっとだけSparse Codingの話もあり)
16章 Adaptive Basis Function Models (AdaboostやRandom Forest。内容としはあまり詳しくないが適応的に少数の基底関数を学習する、という性質でまとめてくれている)
19章 Undirected Graphical Models(MRF)終盤 のCRFとStructural SVMs(ただし、あまりこの本だけ読んでもわからないかも)
27章 Latent Variable Models for Discrete Data(LDAやRBMなど)
- いい意味で「リファレンス本」に留まっています。従って、全部を読破する意味はまったくなく、むしろ「各アルゴリズムの直感適説明部分のみのをまずは早読み」することで、効率的に必要なアルゴリズムだけ深く調べていけると思います。
- Murphy先生は以前からHPで大量のMatlabコードやツールボックスを公開しておりますが、それらとの連携がよいです。その中で、本書のPreface中にも記述がありますが、PMTK3(Probablistic Modeling Tookit)というMatlab向けのツールボックスに本書で登場する多くのアルゴリズムが大量のデモスクリプトとともに収録されていてます。(※ただし、私はMatlabでコーディングしている人ではありませんので、PMTK3を使い込んだことはありません。)
- Random Forestが概念を少し述べて終わっているなど、Murphy先生は多少ビジョンの研究はやっていたものの、もっとも得意とするのが確率的グラフモデル周辺ですので、ビジョン系でとりわけ使い込まれているアルゴリズムの説明は少ない傾向があります。例えば私が研究で関連してくるようなParts ベースモデル(Deformable Part Models)
まとめ
以上、発売してもう2年くらいは立ちますが、MLaPP本をあらためて紹介しました。繰り返しですが、1000p以上もあるリファレンス本ですので、「このあたりについてサーベイしよう!」と思ったところ以外は読まない方が無難です(リファレンス本を読破するというのは本末転倒です)。
また、私のように機械学習そのものの研究開発をしているわけではなくて、コンピュータビジョンやその他コンピュータサイエンスで機械学習を「応用」する人にとっては、読み方もその人の専門分野ごとに変わってくると思います。私の場合は、例えば去年からグラフィカルモデルを使いこなすための準備の勉強をしていて、その際にサーベイのスタートをする基本理解などに、この本の該当部分にはお世話になっていますが、ベイズ推定まわりの道具は普段使わないのでそれらの章は詳しく読んだことはありません。
本書は、日本ですごい人気があるBishop本よりは、直感的な説明でかつ章を重ねるごとに段階を踏みながら話が発展して行くので、初見の人でもとても読みやすいです(もちろん英語がスラスラ読めればの話ですが)。一方で、数式の展開は省略気味のところがほとんどで概念の説明に重きが置かれています。従って、それぞれのアルゴリズムに深入りする場合は他のカテゴリーごとの専門書や論文などに当たっていくことになります。
"course Machine Learning a probabilistic perspective " あたりのクエリーでWeb検索をすると、本書を採用している欧米の機械学習クラスが多数ヒットするので、本書の存在を知らなかった人は、本書が既にたくさんの大学で参考書として使われていることを確認してみてください。
(しかし、本書はどこかで日本語翻訳プロジェクトが進んでいるとよいのですが。。)
繰り返しですが、この書籍紹介を皮切りに、DERiVEのメルマガ/ブログでは、「(コンピュータビジョンに限らない)機械学習の話題」も記事にとりあげ始めます。とはいえ私もまだ勉強中の身ですので、各記事で間違い等ありましたら暖かいご指摘を頂けると非常に嬉しいです。