Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://exphenomenologist.blog100.fc2.com/tb.php/784-91e40d61

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

中岡悦司『ITエンジニアのための機械学習理論入門』

ITエンジニアのための機械学習理論入門
猛烈に面白い。「ITエンジニアのための」と付いているが、これは本書の内容をpythonで書いたコードが利用可能だから。本を読む上でpythonを理解している必要は特にない。むしろ本の内容は、機械学習で使われるアルゴリズムの数学的内容を真っ向から解説したもの。必要なのはIT系の知識ではなく、解析、線形代数、統計学の初歩知識。「ITエンジニアのための」と付いていることが読者層を限定してしまっているように思い、やや残念。

普通の機械学習の本なら、説明が長く困難になるので省略するようなところを真っ向から解説する。単に数式を詳細に追うのではなく、数式が表現していることを伝えようとしている。本当の意味で内容を理解していないと、こうした解説はできない。数学的内容に突っ込むところは「数学徒の小部屋」と題されたコラムにまとめられている。ただ、自分にはこの小部屋もまた、相当に面白かった。

扱われているのは、最小二乗法による多項式近似、最尤推定法、確率的勾配降下法によるパーセプトロン、ロジスティック回帰、k平均法とk近傍法、EMアルゴリズム、ベイズ推定。基本的にはビジョップのPRMLの例や論じ方に基づいている。

Rでもpythonでも数多くの機械学習のアルゴリズムが実装され、パッケージとして供給されている。それらを適当に回せばある程度の結果は出せる。ただそれではそれらアルゴリズムの強みや弱みも分からない。というより、なぜそのアルゴリズムが有効なのかが気になって仕方ない。平易な形で実際にアルゴリズムを数学的に表現して、有効に結果が得られることを証明していく。いや、実に楽しい。もっとも楽しかったのは、バイアス項の調整による収束速度の改善と、パーセプトロンの幾何学的解釈(p.129-137)。バイアス項を調整することで、計算の収束速度が変わることが線形代数の基本的知識で平易に書かれている。ただ、パーセプトロンとは何かの説明がこの本には無い。

単に数学的に面白かったり、結果が得られればよいと考えるのではない。著者は何よりも、ビジネスに使える結果が得られるかどうかを考えている。使用するモデルの数学的性質がよく分かっている必要があるのは、そのためだ。誤差関数として二乗誤差を選ぶのは、計算が容易で厳密に答えが得られるから。これは単に簡単だということではなく、このモデルは数学的性質がよく分かっていて、現実のビジネスに役立つ判断指標へとより適切に変換できることだとされている(p.73f)。

この点を著者は、k近傍法とパーセプトロン・ロジスティック回帰を比較して明確に述べる。k近傍法は単に周囲のデータの多数決で分類を決めているだけで、その分類がどんな構造を仮定しているかについて何の情報もない。パーセプトロンやロジスティック回帰であれば、どの変数が効いているのかとか、分類の確率などが分かる。k近傍法の結果をビジネスに適用して結果が出たとしても、なぜそうなるのかが不明。ということは、上手く行かなくなった時にどう調整すればいいかも不明になる。次の言葉はとても興味深く、胸に刻んでおく必要がある。
 「ビジネスに役立っているのだから、それでいいではないか」と考えることもできますが、うまくいく理由を根拠付ける仮説がなければ、将来、同じ方法ではうまくいかなくなった場合に困ります。うまくいく理由がわからない状態では、「うまくいかなくなった理由」を追及して、アルゴリズムを改善していくという活動ができなくなります。
 また、現実の問題では、1つのアルゴリズムを試して、それだけでうまくいくことはありません。さまざまな仮説を立てて、それぞれについてうまくいく理由/いかない理由」を追求していく必要があります。その上でも、アルゴリズムを適用する前提となる考え方、すなわち分析の「モデル」を明確化したアプローチが大切となるわけです。(p.184)
スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://exphenomenologist.blog100.fc2.com/tb.php/784-91e40d61

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。