言語処理のための機械学習入門を読んだ

 言語処理のための機械学習入門という本が出版される、という話はtwitterで知っていたのだが、8月ぐらいに出るのだろうとばかり思っていたら、なんかもう発売されているらしい。Amazonでは早速売り切れていたので、某大学生協の書籍部まで行って購入してきた。おかげで、この週末は280円で過ごすハメになってしまった。
 まだざっと眺めただけだが、

  • ラベルを人手でつけるのに隠れマルコフモデルと言うのは本来はちょっとおかしいんだけどNLPの分野だとそう表現する事が多いよ
  • 対数線形モデルと最大エントロピーモデルは同じものだよ
  • 出力変数の間に依存関係がなければCRFではなく対数線形モデルとか最大エントロピーモデルと表現するべきだよ

 といった、これまでの教科書にはあまり載っていなかったような事が載っているのはとても良いと感じた。こういった情報は、これまではどこかの大学の研究室で学ぶか、もしくはウェブ上の資料を自分で必死に漁らないと見つけれられなかった。これで3000円しないのは安い。正直、自分が学生の頃にこの本が欲しかった。
 ただ、機械学習に力点がかなり寄っており、あらかじめどうやって自然言語処理機械学習を応用するかを知っておかないと、この本だけを読んでも応用方法が初心者にはわからないのではないかと感じた。(ちゃんと読めば分類、クラスタリング、系列ラベリングとよく使うものがちゃんと載っているのだが、初心者に理解できるのかという不安を感じる。)流れとしては確率的言語モデルを読んでからこちらの本を読むといいのかなと思う。
 入門書なので敢えて削っているのだろうとは思うが、最適化手法の最近の進展についての言及がないのが寂しく感じた。また、系列ラベリングの説明は簡潔過ぎて、これだけで理解するのは苦しそうに思えた。
 前者に関してはリストが欲しいという話なので、自分でいくつかソフトウェアを紹介しておく。

  • Classias
    • 2値分類問題用
    • 損失モデルとしてロジスティック回帰とL1損失SVMを選択でき、最適化手法としてはL-BFGS、OWL-QN, Pegasos, FOBOSが実装されている。あとaveraged perceptronも使える。
  • oll
    • 2値分類問題用
    • Perceptron, Passive-Aggressive, ALMA, Confidence Weightedなどが実装されている。
  • Vowpal Wabbit
    • 2値分類問題用だった気がする
    • 確率的勾配降下法。L1正則化に特化しているが、式としてはFOBOSとほぼ同じ…だったと思う。あとfeatureにハッシュかけると素性が超大規模でもいけるぜーとかやってた気がする。(気がする、ばっかりだ…)
  • liblinear
    • 2値分類と多値分類に使える。
    • ロジスティック回帰とSVMが損失モデルで、SVMの最適化手法はcoordinate descent methodでロジスティック回帰の最適化はTrust Region Newton Method、という解釈でよろしいでしょうか。
  • AROW++
    • 2値分類問題用
    • AROWの実装。AROWはConfidence Weightedの人々が最近出した新しいアルゴリズムで、CWよりもノイズに強い。

 これらが参照している論文とかを読んでおけば、最近の教師あり学習の研究についてはそれなりにカバーできる…かもしれない。二値分類に関しては。

誰がこの本を読むべきか

 自然言語処理をやっていて機械学習を使ったツールを使っているなら、(そして今まで機械学習の知識をまったく身につけていないなら、)この本は読んでおいた方がいいだろう。その先、興味があればPRMLとかを読めばいいし、なければ自分の研究分野にもどればいい。これまでは機械学習を知りたいとなるといきなりPRMLとかハードな選択肢が出てきてしまう状況だったので、この本が出版された意義はとても大きいと思う。
 その他、仕事で機械学習とか使うことになったんだけどようわからん、というような人もまずこの本を読むと良いと思う。

アフィリエイトリンクたち

 自然言語処理機械学習を学ぶためには、以下の6冊ぐらいを買っておけばとりあえずはよろしいだろうか。

 他にも読むべき本はたくさんあるとは思う。例えば 言語処理学事典 は評判がいいようだ(さすがに3万6千円は怖気ずいてまだ買えていないが…)し、カーネルを使うかどうかは別として、 カーネル多変量解析 はわかりやすくていい本 だった。最近の機械学習まわりを勉強するならMCMCに関する本も避けられないだろう。MCMCはマイナーなようでいて意外と専門書がたくさん出ている(し、わかりやすい本が多い)が、一つ挙げるとすると 計算統計 2 の第1部はわかりやすくてよかったと思う。最適化に関しては これなら分かる最適化数学 はとてもわかりやすかった。

ロジスティック回帰と対数線形モデルは同じものか

 ここからは完全に余談になるが、ロジスティック回帰と対数線形モデルは同じものだと自分は考えているのだが、そう書いてある本を見たことがない(ウェブ上では結構そういう表現は見る気がする)。調べてみると、ロジスティック回帰は誤差が二項分布と仮定、対数線形モデルは誤差が多項分布と仮定、と書いている資料があったりして、うーん、どうなんだろうか。誤差にどういう分布を仮定するかは事前分布をどう置くかで決まるのであって、ロジスティック回帰や対数線形モデルとは関係ないような気がするのだが、そう言いきれる自信が自分にはない。