#
“
機械学習についての日々の研究
- 学生に話をしていて「世の中にはベイジアンとそうでない人がいる。 前者はまずグラフィカルモデルを書くし、後者はとにかく目的関数を定義する習性がある」という世の中(統計的機械学習界)の話をしたあと、結局のところどう言うのが適切なんだろう?と考えた。 その結論として、いきなりまずベイジアンかそうでないかで分類するのではなく「機械学習におけるモデル化には、生成モデル化 と 判別モデル化 の2つの立場があるよ」というほうが良いように思う。(※:「判別モデル化」という言い方がよいのかどうかはちょっとわからない)
- 要は、モデル化の流儀として、全体に注目する生成モデル化と、部分に注目する判別モデル化という2つのアプローチがあって、ベイジアンとか非ベイジアンなどというのは、生成モデル化、判別モデル化のそれぞれにおいて「好んで」扱われる(必要条件ではない)問題や方法に対応して、なんとなく言われているにすぎず、実はモデル化に対する態度の違いのほうが本質的であるという気がする。もぐりなので断定はできんけど。
- 生成モデル化と判別モデル化の定義は、おおむね:
という感じで、要は、モデル化のスコープが、全体なのか(その中の)一部なのかという違いなのだろう。
- 生成モデル化は、見えているもの全て(教師つきデータの場合は入力と出力全部)が生成される過程をモデル化すること
- 判別モデル化は、与えられるもの(入力)から、欲しいもの(出力)が生成される過程のみをモデル化すること
- ぬる機械学習な日常では、前者がベイジアン、後者はそうでない人に大まかに対応させて話されることが多い。 しかし、これはあくまで、それぞれがフィットする機械学習の問題や使われるワザの種類が、生成モデル化と判別モデル化のそれぞれと結び付くことが多いよねという話であって、これを真に受け、まず世の中をベイジアンとそうでないものに分けるのはミスリーディングであるように思う。
- たとえば、前者は教師なし学習において、後者は教師つき学習において用いられることも多いが、それは必ずしも必要ではない。 また、生成、判別どちらのモデル化においてもいわゆるプレート表記(「ベイジアン」を象徴するグラフィカルモデル)は用いることはできるが、前者のほうでより頻繁に用いられる。 後者だと「箱を3つ繋げて終わり」のようになるケースが多く、あまりメリットが感じられないことが多いのだろう。
- 前者では、興味のないパラメータを積分消去する方法というのが良く採られ、そのための諸々のテクニックもまた「ベイジアンな」イメージに対応している。 一方、後者を非ベイズあるいは頻度主義などというのもあまり適切ではなく、こちらとて(やはりベイズ的な考えかたであることには変わりない)MAP推定を行うことが多い。 ただ、これは正則化として解釈する人も多く、また手法的にも数理計画的な問題設定(目的関数の定義)と最適化のテクニックが用いられ、これが非ベイズなイメージとなっているのだろう。
- ところで、気をつけないといけないのが、モデル化は学習とは別のものということである。 たとえば、たまにVapnikの原理的な気持ちで「判別タスクなのだから、前者に属するナイーブベイズよりも後者に属するロジスティック回帰のほうが適切である、それはやりたいことをダイレクトにやっているからだ」というようなことを言ったりするが、これは学習手法とセットにした前提での話をしているのであって、ナイーブベイズモデルであっても「判別的な学習」を行えば、「やりたいことをダイレクトにやる」ことができる。 (ただ、実際に計算する段になると、今度は最適化問題としての質の良さも絡んでくるので、そこで後者のほうが単純なので扱いやすい、ということはあるだろうけど。)
2ヶ月前に投稿されました. リアクションが0件あります.