識別の次は回帰

先日から取り組んでいた『はじめてのパターン認識』(平井有三)を読み終えた。時間かかってしまった。

多くの識別手法が解説されており、確かに「はじめて」パターン認識を学ぶのには良い本だと思う。いくつかの実データに対して手法を適用した結果も図示されており、分析結果についてのイメージもつきやすい点は親切だった。

ただ、解析用のコードは掲載されていないので、試したい人は自力で書いてみる必要がある(R使いの場合は、ライブラリ名が示されているので助かるが、Python使いの場合は全くゼロから自分で調べてコーディングする必要あり。ある意味で教育的ではある)。

数式の展開は天下り的で、統計学的な議論には乏しいので、特に理論系出身の方は適宜参考書を用意した方が円滑だろう。7章のニューラルネットワークの記述は物足りなく感じたので、 

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

 

も脇において読み進めた。勾配消失問題などがよく分かるように書いてあるし、記号も整備されているので式展開も見通し良い。コーディング、特にPythonのライブラリ利用法については次の本が参考になった。

Python Machine Learning

Python Machine Learning

 

著者のSebastian RaschkaはMichigan State UniversityのPh.D学生(執筆時点)とのことだが、この分野への熟練を感じさせる、優れた一冊だ。

トピックの網羅性が高く(scikit-learnを用いた、データ整形、分類、回帰、次元縮約、モデル評価、NLTKを使った自然言語処理、Theanoによるニューラルネットワークの扱い等が収められている)、基本的な処理方法は本書をあたれば大体見つけられると思う。各々のトピックに対してはコードが充実しており、コメントも豊富なので解読に苦労する点はほぼ無いだろう。

また、理論的な背景や手法の有効性/限界もいくらかの数式を使って解説されており、『はじめてのパターン認識』で学んだ手法について、より実践的な理解を深める機会となった。発展的な手法・アルゴリズム等に関しては原論文も引用されているため、意欲ある読者にとっての価値ある情報源になるはずだ。Caffe、TensorFlowといったディープラーニング用のフレームワークは範囲外となるので、別途学習が必要であろう。

次は回帰分析ということで、

を読み始めた。平易で良いですね。また、読み終えたら感想ここに書きます。