hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

機械学習をさらに理解する

前回のエントリで機械学習とは空間に線を引く作業に他ならないと書いた。これはこれで正しいとは思うのだけれど、さらに調べていくと例外も当然ある。具体的にはベイズ統計を用いた機械学習モデルがそれにあたる。

古典的な確率論では、誤差に分布があるだけで、真の境界は線上にあると考えるが、ベイズな世界では、境界線自体に分布がある状態こそが真であると考える。だから、出力となる結果は値ではなく確率分布となる。

とはいえ、線が確率分布となるだけなので、脳内イメージ的には、ぼんやりとした線が引かれると考えればそう大きな飛躍があるわけではない。

ベイズ的な確率論を含めた機械学習では、機械学習を「識別関数」「確率的識別モデル」「確率的生成モデル」に分類して説明するのが一般的なようだ。「識別関数」と呼ばれるものが古典的な確率論をベースにした機械学習法、「確率的識別モデル」「確率的生成モデル」はベイズ的な確率論がベースとしたモデルだ。「確率的識別モデル」が条件付き確率分布を直接推定するのに対し、「確率的生成モデル」は、データの尤度と事前確率分布を推定し、そこから条件付き確率分布を導出するものを言う。

「識別関数」も対ベイズとしてはひとつにまとめられているが、「線形識別関数」、線形識別関数に非線形変換を組み合わせた「間接的非線形識別関数」、直接的に非線形識別関数を推定する「直接的非線形識別関数」の三種類に分類できるようだ。

ただ、このように分類したところで、どれがどのように良いのかと言われるとよくわからないところがある。線形よりは非線形の方がより細かい分類が可能だろうとか、ベイズ確率のほうがより現実的な感じもする、といった感覚はあるのだけれど、こういう問題にはこの方法を使うべき、という指針らしきものはあるのだろうか。