基礎から深層学習まで。おそらく初心者向けな「フリーソフトではじめる機械学習入門」を読んだ

おそらく初心者向けな「フリーソフトではじめる機械学習入門」を読んだ。
おそらく、というのは多少説明が足りない箇所がある本なので、そのへんが受け入れられない人もいるかなあ、と思ったので。
以下、読んだ感想を書いておくので購入を検討している人は参考にどうぞ。


本書の扱う範囲
"データマイニングの基礎"と"はじめてのパターン認識"の内容を合わせたような感じ。決定木やルール学習などの古典的な手法からはじまって識別関数・識別モデル・生成モデルと一通り扱っている。またグラフィカルモデルや系列ラベリングなども少々。さらに多腕バンディット問題、POMDP、深層学習など。新しめの話題も扱っている。

 



本書の特色
1章あたり10-20ページと少なく、有名どころの手法に絞って解説してあるので最初から通して読むのが苦にならない。"はじめてのパターン認識"も良い入門書だけど、あれを通して読むのは重い、というひとはこちらがおすすめ。
タイトルにあるフリーソフトはWekaのことで、Wekaを使って色々する本。ただ基本的なアルゴリズムは数式と擬似コードによる説明があるので自分で実装したい派の人でも満足できそう。
高度な手法に関しては大雑把な説明しかないので、そういう手法もあるのか、くらいにとどめておいて深く考えない方がいい。
書籍としては深層学習を扱った本はこれが最初なのでは?(学会誌の特集とかはあるけど)という意味でも有意義な本だと思われる。



必要な事前知識
基本的には事前知識はいらないけれど高校数学の知識は必要。法線ベクトルとか極大値という用語が説明できない人はまずは高校の教科書を引っ張りだしたほうがよい。あとはベイズまわりが難しいと感じたら"図解・ベイズ統計「超」入門"を先に読むと理解がしやすい。



内容について
1章は全体像が書いてあるのでまず読む。
2章はWekaの使い方と主成分分析、kNN、評価尺度について。主成分分析はとりあえずわからなかったら飛ばしてOK。
3章は概念学習(決定木やルール学習など)。独立した内容なので興味がなければ飛ばしてOK。
4章はベイズの話。ナイーブベイズを扱う。グラフィカルモデルについても説明がある。ギプスサンプラについても説明あるが具体例がないのでわかりにくい。
5章は生成モデルから識別モデルへ。対数線形モデル(ロジスティック回帰)やSGDを扱う。4章・5章がPRML流の機械学習のメインなのでちゃんと読みましょう、という感じ。
6章はパーセプトロンニューラルネットパーセプトロンニューラルネット、深層学習の基礎であるだけでなくSVMの基礎でもあるので絶対に抑えておきたい。
7章はSVMSVMパーセプトロンの拡張として考えるのが理解しやすいのだけど本書ではあまりパーセプトロンとの関係は書かれていない。SVMについては難しい部分も多いので最初はパーセプトロンの拡張だよくらいにとらえておいて飛ばしてもよさそう。
8章は回帰。9章はアンサンブル学習。10章は教師なし学習。11章はパターンマイニング。12章は系列ラベリング。13章は半教師学習。14章は教科学習。15章は深層学習。このあたりはそれぞれ独立した内容なので興味に応じて。
まとめると1,2,4,5,6が必須で他は興味に応じて読みましょう、という感じ。



本書の良い点・悪い点
章ごとのページ数が少なく必要最低限の内容が書かれている点は良い。初心者はどこが重要かを判断する材料がないので"書いてあることはひと通り読みましょう"という構成は初心者に優しい。
また一応"順番に読んでね"と最初のほうに書いてあるものの、章ごとの独立性が高く、必須である1,2,4,5,6章以外は興味に応じて読めるのも時間がない人にとっては親切。
基礎的な手法はツールだよりではなく擬似コードが書いてある点も理解の助けになる。
深層学習など流行りの手法を平易に解説している点も評価高い。(ちなみに深層学習はAutoencoderの解説はちゃんとやっているが、RBM、CNNはちょっと触れました程度。ドロップアウトに至っては読者の練習問題とする、ってやつだった)
一方で高度な手法については中途半端な解説となっていてわかりにくい。この程度の解説で理解できる人は多分初心者ではない。いっそ割り切って、こういう入力を入れたらこういう出力が出るんですよ、くらいの説明にして内容はブラックボックスでもよかった気がする。


というわけで全体的に満足度は高い。入門的な内容から流行の手法がどういうものかをイメージしやすい構成なのはとても評価できる。が、まじめに全部の内容を理解しようとすると辛い面もあるかもね、という感想。