この投稿は Machine Learning Advent Calendar 2013 の10日目の記事です.
今日はMLaPPみんな読みましょう!というお話です.なにをか血迷って積ん読状態になっていたMachine Learning a Probabilistic Perspective(以下MLaPP)を1ヶ月で読破することを思い立ち,一人でMLaPPアドベントカレンダーなるものを始めてみました.(が,10日目にして既に心が折れそうです….)
MLaPPは良い機械学習の本であると思います.線形回帰からDeep Learningまで非常に幅広い分野が網羅されており,PRMLでは触れられていないトピックが記述されている点はMLaPPの大きな長所ではないかと思います.もちろん欠点がないわけではありません.まず,1000ページを超える分厚さにより,持ち歩くことはほぼ無理です(持ち歩きたい時はkindle版買いましょう).次に,長所の裏返しですが,幅広いトピックに触れすぎているために細かな式展開や詳細な内容にまでは触れられていない点がいくつもあります.しかし,これについてはモデル名や論文はきちんと引用されているため,MLaPPはあくまで辞書的な位置付けとしてオリジナルの論文を自分で読めば解決すると思います.
MLaPPの想定読者は誰なんだろう,と考えたとき,自分のような「機械学習分野ではない人間」「体系的な機械学習分野の教育を受けていない人間」が最もピッタリきます.機械学習分野バリバリの人間にとっては知っていることが多い(または論文に比べると内容が浅い)と感じられるかもしれません.自分は元々機械学習ではないので時折気になった論文を虫食い的に読んでいたこともあり,なんとなく知っているが位置づけがよくわからなかったトピックを整理することができています.
昨今の機械学習ブーム,という表現が適切かはわかりませんが,多くの人々が機械学習に興味をもっている状況において,簡単な入門書は読んだが,次に黄色い本を読むにはハードルが高すぎるため,独学でうまくステップアップするのが難しいという現状があります.イラストで学ぼうとしたら死亡したといった悲劇もインターネット上で散見されますし,その間を埋めるにはMLaPPは適任かなと思います.(個人的感覚ですが,MLaPPはPRMLよりも読みやすいです)
以下に,今まで読んだ各章を1行程度で説明します.ついでに自分のブログでのメモへのリンクも貼っときます.
##Ch 1. Introduction
MLとは何か,教師あり学習/教師なし学習の違いや適用例,パラメトリックモデルとノンパラメトリックモデルの違いが概念的にわかると良いです
##Ch.2 Probability
有名な離散分布,連続分布の確認と情報理論の概説です
##Ch.3 Generative models for discrete data
簡単なベイズモデルの考え方のためにBeta-binomial modelやDirichlet-multinomial model,Naive Bayes classifiersが説明されます.具体例が多く,イメージがわきやすいです
##Ch.4 Gaussian models
正規分布(ガウス分布)の性質の章です
##Ch.5 Bayesian statistics
ベイズ統計の概説です.モデル選択としてBICなども触れられます.
##Ch.6 Frequentist statistics
頻度統計の概説です.頻度論はパラメータが固定,データはランダムと考えているのに対し,ベイズ統計はデータは固定,パラメータはランダムと考えています.
##Ch.7 Linear regression
線形回帰の章です.個人的にはロバスト回帰とリッジ回帰の違いが整理できました.
##Ch.8 Logistic regression
ロジスティック回帰の章です.関連が強い非線形最適化の話も載っています.生成モデルと識別モデルの違いについてうまく整理されているので両者の違いがよくわかっていない人は読むと頭が整理されると思います.
##Ch.9 Generalized linear models and the exponential family
指数型分布族と一般化線形モデルに関する章です.統計学の勉強を始めた当初は正規分布すげーなと思いましたが,最近は正規分布を含む,より一般化された分布族である指数型分布族すげーなと思う日々です.モデリングや定式化時にどこに帰着させると解きやすいかを考える際,指数型分布族を目指すというのは一つの方策と思います.
##Ch.10 Directed graphical models
PRML8章にもあったように,多くの確率モデルは有向グラフで表現すると見通しが良くなります.
##おわりに
MLaPPのような本を読んだり,論文を読んだりしても,自分の研究が進んだり,あるプロダクトがつくられるということはありません.そういう観点でのみ語れば,MLaPP読破した(やトップカンファレンスの論文を100本読んだ)ところで「今回の調査で我々は・・・何の成果も得られませんでしたぁぁ!!」と言うこともできるでしょう.
でも,本当はそうではないと僕は思います.ちょうど今日読んだはぐれ学生Advent Calendar 2013のエントリ(白湯の日記さん)を以下に引用させていただきますが,僕も全く同感です.
今になってみれば,研究が進まず空回りしていた理由は明白で, 先行研究のサーベイを全くしていなかったからです. そもそも,論文を1本も読まずに, とにかく手を動かそうとして,意味もなく実装をしようとしていたからです.
他の人がどんなことをやって,何が現在の研究の主流か,どこに改善点がありそうか,ということが分かっていないまま, 研究なんて,なんて無茶苦茶な話なんだ,と今なら思います. はっきり言って研究のイロハが分かっていなかっていませんでした.
論文や本を読むという行為は筋トレみたいなもので,練習試合ばっかりしてもうまくなりません.その一方で,筋トレばかりして試合をしないというのは批評家体質になってしまうという問題があります.そこらへんのバランスを取るのはとても難しいですが,一人で筋トレするのはつらいので,みんなを巻き込んでやるのが良いのではないでしょうか.ということで今月中に28章を一通り読み終える自信がありませんが,筋トレと思って続けたいと思います.