daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

感想戦

〜〜〜僕の感想~~~
問題文を読んだ瞬間「どう見ても多腕バンディット問題です。本当にありがとうございました。」だったのでucbとかsoftmaxとかを考えた。
とりあえずnotePlayはせずにucbまたはsoftmaxだけを使ってプレイしてみて探りを入れる。
ばらけさせ方が小さいとあんまりよくないのをひたすら回してしまい、ばらけさせ方が大きくなると一番いいのがわかったぐらいで残り時間が無くなってしまうということが言いたげなデータが得られた(まあそれはそう)。
ここでnotePlayの出番だなということを察する。
最初に何回かnotePlayをすべてのマシンについて回してからucbやsoftmaxを使ってプレイさせてみる。全然よくならない。
パラメータが悪いのだろうか?それともnotePlayによる事前期待値から実際のプレイによる儲けの期待値に移行するのがうまくできてないんだろうか?と考えていろいろやってみる。しかし全然よくならない。
sofxmaxの温度項を多点焼きなましっぽくして探索と活用のバランスを取ろうとしてみる。しかし良くならない。
ucbやsoftmaxに囚われすぎている気がしたので方針を変えてみる。
{全台について何回かnotePlayをした後、一番期待値が高いのを実際にQuickPlayをする}を数回繰り返して、そこから先は一番実際にプレイしたときに出が良かったスロットをひたすら回すことにした。
単純すぎる方法だけどこれが一番スコアが高くなった。(こんなクソ方法に勝てないのは非常にツライ。)
kaggleでちょっとpandas触ったので、pandas使ってデータをプロットして可視化ということをしてみたが
そういうことよりも数個の環境における時系列的な結果をしっかり追って行って何が起こっているのか見たほうがよさそうだったのでデータサイエンティスト気取りはやめた。
時系列データを眺めてみると一番期待値の高いスロットに気が付けているが探索を続けてしまっているということが起こっているので
探索打ち切りの条件を入れてみたが、うまい条件を考えられず結局スコアは落ちる。ここからもいろいろ考えて改良を加えたり、多腕バンディットについてググってやってみるも下がる一方だった。
スコアが下がる一方だったのと手元またはExampleテストではスコアが上がるがフルサブでは下がるというのが繰り返されモチベーションが死んでしまい虚無になった。
きったねぇlogファイルを眺めてても時系列的にどうなってるか理解は深まらずストレスしかたまらん。もっと見やすくためにビジュアライザを作ればよかったという後悔が残るがビジュアライザわからん..みんなやっぱJavaで作ってるんだろうか...


〜〜〜他の人の解法を読んで〜〜〜

作成中


ただスコアそのものしか見ていなかった....(´・ω・`)




リール期待値、予測の出し方がプロでしょプロ。僕はただnotePlayの結果的に良さそうな感じなのを選んだだけです


なるほど賢い


なんか他にもトンプソンサンプリングしてる人が結構いてるなぁ。
ucbとsoftmaxがうまく行かなかったのでトンプソンもそんなにうまく行かないでしょとおもってしまったのでやらなかったのを後悔


そうか前半にucbを使うのかその発想はなかった

なるほどnotePlayで得られた情報量的をこのスロットの試行回数とみなすのか 賢い


他の人もいってるけど推定リールを求めるための焼きなましってどうするんだ...??
notePlayで得られたじょうほうからリールが繋がるように並べ替えるということか??





確率 統計を使いこなしている感じすごいなぁ


リール推定僕も最初ちょっと考えたんだけど、いやリールの長さもわからんし難しそうだから無理でしょと思ってしまった。
ベイズを使うのも難しそうでどう使えばいいかわかんなくてトンプソンサンプリングがベイズを使ってるとの事だったからそれで満足してしまっていた。


いや〜〜〜〜他の人に見えていて私には見えていなかったものが見えてきて興奮している。楽しいですね。
しっかり復讐しよう。

togetter.com