機械学習に手をつけるよメモ

MMGoPatternsを基本的に踏襲してプレイアウトを改善しようと思っていたのですがなぜか論文を理解するのに時間がかかってしまい。

・ここでのMM(少数化-最大化)アルゴリズム最尤推定のための反復法です。ベイズ推定を使うのかと思わせといて実際にはパラメータの事前確率分布とかアルゴリズム中には出てきません。

・じゃあ事前分布の話は何かというと、(サンプルが少なすぎる等で)100%勝つ特徴があった場合γが収束しなくなってしまうので対策が必要ということです(後で読んだHunterの原論文にも言及がありました)。

・やり方としては学習データに細工(勝ち1回負け1回を加える)をするだけ。(いや「この場面でこの手が選ばれた」なんていう表現が不可能なのでプログラム上での細工が必要そうですが)

・「反復法における初期値」とこの事前分布は全く関係ありません。

・最尤法をベイズ的に解釈するとこういう書き方になるのでしょうけど。おかげで(ry

・プレイアウト用の学習で「直前の手との隣接は非常に強い特徴」っていうのは最尤推定の結果なのでしょうか。それともこの特徴だけ後から勝率を調べて調整したのでしょうか。387.pdf(MoGo)は「推定すればいいってものではないようだ」という結論でしたし、個人的にこの特徴は手調整の価値があるものと思っているのですが。

・強い人の手を学習するだけじゃなくて、自分が探索した結果の最善手を学習するとか、その探索の深さを制限してみるとか、ランダムプレイアウトで最善手を探索→学習→新しいプレイアウトで探索→学習→…とかやってみたいなと。

・とりあえず現状の3x3パターンを整理して(バグを見つけてもしかして強くなってるかなと7路盤500試合×4セット自己対戦させてみたら勝率55%くらいになってるように見えたけど日を置いてみたら幻だったようで、乱数シードをもうちょっと改善しないとテメエコノヤロウ)

・…パラメータ化できるところまでリダクションしました。えーとあとは全パラメータに通し番号を付けないと…面倒だけどこれは不可避だじぇ

・Remiのサイトに行ってmm.tar.bz2というのがあったので読んでいるところ。うむ、やはり通し番号が必要そう。