ベイジアンなモデルはオーダーメイド?

8月の頭からCS研にお世話になっていると書いていましたが、昨日で2ヶ月の実習が終わりました。実習中お世話になった方々、ありがとうございました。

以下、ちょっとベイジアンに毒され始めた(ぉ)時期の中二病っぽい文章なので注意。

内容についてはここには書けないですが*1、大雑把な内容としては転移学習のためのとある確率的生成モデルを作っていました。PRMLで機械学習の勉強したり、卒研とかでちょこちょこ勉強したりはしていましたが、恥ずかしながら「自分で」ちゃんとしたモデルを作るというのが経験がありませんでした。「SVMとかパーセプトロンに自分で工夫したXXXの素性を放り込んでやってみるのだー」というのとは違って*2、生成モデルで何かの項を入れようとか考えるとちゃんと式をいじって推論のアルゴリズムが回るかとかを確認(だめなら自分で作る)しないといけないので、なかなか大変と言えば大変ですが、自分が「これこれこういうものが欲しい!」というのをグラフィカルモデルを見ながら*3、モデルに魂を込める(!)がごとくプレートを配置してetc...というのは結構楽しかったです。本で勉強したり、論文を読んで理解するのと、自分で実際にモデルを組み立てるというのは結構な飛躍があって*4、越えるまで(いや、今も越えようとしている途中だと思うけど)に結構苦労していますが、そういうオーダーメイド的なモデルを自分で作るのは面白いなぁと思いました。

ちなみにモデルを無闇やたらに複雑にしていくのが面白いと言っているわけではなくて、あるタスクに対するモデルを考えた時に、汎用的な生成モデルではそのタスクで入れるべき特徴が考慮されていない、そういったものをどうやったら自然な形でモデルに入れられるかみたいなところが面白いなと思っていて「タスクにあった生成モデルを作る」という意味でオーダーメイドと書いてみました。

あとは作ったモデルの推論の方法を自分でごにょごにょできるようにEM、変分ベイズ、MCMC辺りはそろそろPRML見なくても空で色々できるようにならないとまずいなぁと。。。

*1:そうか、どこか学会に出したら「ここ見て!」とか言えるのか...

*2:どちらがよい悪いというわけではなく

*3:去年の今頃は「グラフィカルモデルは絵を書くだけで何の立つのか分からない」とか書いていた自分が今やグラフィカルモデルがないと整理できないとか言っている状況はなかなか面白い

*4:いわゆるお勉強と研究の違い?