MLaPPとは「Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series) (English Edition) 1st Edition, Kevin P. Murphy  (著)」という本のタイトルです。2000年以降機械学習の名著と言えばPRMLでしたが2010年代に刊行されたこの本はPRMLの内容を包含しつつ新しい内容に触れています。ベイズ統計の章の後に古典統計の章を設けてそれぞれの特性とp値がうまくworkしない事例を挙げているスタイルは独特です。筆者はこの本を1年半ほど読んでいますがやっと半分くらいです。その道中出来る限りで演習問題も解いてきたのでその解答を掲載して行く予定です。

この本の図や例題、演習問題のサンプルコードはGithubで参照できますがoctabeというmatlabのクローン言語で書かれています。昨今私も含めこの業界はPythonが主流なので筆者のコードを必要に応じてPythonに書き換えています。また車輪の再発明はとにかくしないという方針ですのでscikit-learn等の既存のライブラリが使える箇所は使用しています。

また上記著者Murphy氏のGithubhttps://github.com/probml/pmtk3を参考にしています。このリモートリポジトリ丸ごとローカルにダウンロードして必要なデータを適宜参照して下さい。

1章概要

章の内容を要約したものが以下です。詳細は本書を当たって下さい。

1章は諸々の基本事項の説明と応用事例に触れています。

演習問題

EX1.1 MNISTデータへK近傍法を適用する

scikit-learnの当該ライブラリを使います。何度も言いますが車輪の再発明はしません。

EX1.2 近似K近傍法

pyflannというライブラリで近似K近傍法を実行できます。高速です。

EX1.3 k近傍法のクロスバリデーション

補足
  • ディレクトリの構成から上手くいかない場合は適宜変更してください。
  • 必要なライブラリはインストールされているものとします。
参考文献
  • Kevin P. Murphy (2012) 『Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series) (English Edition) 1st Edition』, The MIT Press
  • https://github.com/probml/pmtk3