読者です 読者をやめる 読者になる 読者になる

PRML読書会第五回

機械学習 PRML 勉強会

第三回、第四回のレポは書こうと思いながら、書いてなかった。今週は書くのである!!

今回はP42の1.5.4「推論と決定」からP47の情報理論の前までやりました。まったりまったり。

推論と決定

決定問題を解くときには3つの異なるアプローチを考えることができる、ということで(a)から(c)まで挙げてある。

  • (a)
    • すごいベイズなやり方。
  • (b)
    • 最初にデータをばーっと集めてきて、事後確率を求めてしまう。
  • (c)
    • 上二つとは大きく異なるやり方。事後確率p(C_k|x)を計算しない。どっちであるかを識別する識別関数というのだけが出てくる。例えば閾値関数みたいなのもそうかな。どっかを越えたらAのクラスで、それまでばBのクラスみたいな。

(a)と(c)は分かるんだけど、正直(b)はよく分からない(笑)。(b)は(a)とアウトプットは一緒なんだけど、中の生成プロセスが違うって感じかな。(b)の生成プロセスがよく分からない。具体例みたいなのがあるとよいのか。

あとここではクラス分類のことを考えているので、(1.83)式のところは積分に変わったりすることないというのを忘れていた。

それぞれのよいところ、悪いところ

(a)は明らかに生成コストがかかる。けど、データの周辺分布を決めることができるので、外れ値検出みたいなのに使えるよねー、という話が載っていた。例としては、こんなのを話したりした。

車みたいなのを考える。クラスは例えば高級車とか、中古車とか。これがC_kとかになる。で、xは設計特性値のようなもの。燃費とか車高とか。クラスについて和を取ったxの周辺分布が分かると異常値検出に使えるというのはこういう状況。車高の周辺分布が分かると、10mもある車(笑)は異常値だとすぐに分かるよねー。とかそういう話。

回帰のための損失関数

損失関数を最小にするようなy(x)を選ぼうぜ!!ということで、期待損失を解析的にごにょごにょするなどしたい。しかし、それには変分法というのが必要になってくるらしい。うちの学類はゆとりのようなので、変分法をやっていない。うーん。(1.88)式があれば、最適解はxで条件付けたtの条件付き平均となる。これはxの関数である(簡単な例で確かめてみるとよい)。

で、変分法が分からないゆとりにも優しい設計になっていて、なんとかなく条件付き期待値が最適解になることを知っていれば、あやしげな変形ができる。その変形したやつに対して、損失関数を計算したのが、(1.90)式。(1.90)式E[L] = \int \{y(x) - E[t|x] \}^2 p(x) dx + \int \mbox{var}[t|x] p(x)dxの展開のところは昔かなりちゃんと計算していたりした。あまり見る気はしない(笑)。


二乗誤差を一般化したミンコフスキー誤差というのがあるらしい。この期待値はE[L_q] = \int \int |y(x) - t|^q p(x,t) dx dtになる。q=2だと、もちろん条件付き期待値となる。「q=1だと条件付きmedian、q→0だと条件付きmode」らしいんだが、本当かどうかは練習問題となっている。Webに載っているらしいので、あとで調べるかー。

で、当然のごとく疑問になってくるのが、qによって最適解が変わってしまうじゃないかというところ。もちろんすごいセンシティブなところだと思うんだけど。まあ、普通はq=2とかだよねってことかなー?「qを0から∞まで積分して期待値を取ればいいじゃないか!」と思ってしまう僕はちょっとベイジアンに近づいてきたんでしょうか(ぉ。やれるもんならやってみろって感じか。

参加者のレポ