【まさかの】ChainerでLSTMを使ってナンバーズの予測をする【当選】

  • 59
    Like
  • 2
    Comment
More than 1 year has passed since last update.

前置き(読み飛ばしていいです)

  • 古巣(某ISP)が定期的にハッカソンを開催していて、ありがたいことに毎回お声掛け頂いています。
    • 特にテーマは無い、もくもく会的なハッカソンです。
    • 毎回美味しいお弁当が出ますが、今回は量は満足でしたが、質がいまいちでした
  • やりたいなーと思っててやる時間がなかったことを毎回やってます。
    • 今回はLSTMを使ってナンバーズの予測をやりました。

ナンバーズ

  • 数字選択式宝くじ
  • 平日は毎日抽選が行われる
  • 数字を3つ選ぶナンバーズ3と、4つ選ぶナンバーズ4がある
  • 数字と並びの両方を当てるストレート、並びは関係なく数字だけを当てるボックス、ストレートとボックスに半々にかけるイメージのセットがある。
  • 当選金額は ストレート >> セットのストレート > ボックス > セットのボックス みたいなイメージ

ナンバーズに関するオカルト「ひっぱり現象」

  • 同じ数字が何回かにわたって連続して出現しやすい。これをひっぱり現象という。
    • 計算してないけど、多分確率的にはよくあるくらいの確率なのでは……。
  • ひっぱり現象がある = 前回の結果と今回の結果にはゆるい相関関係がある
  • ナンバーズの結果を「時系列データ」と捉えてLSTMで学習させる

ナンバーズのデータ


やったこと

  • 一文字づつ学習させて、次になにが来るか予測
  • 1回ごとの当選番号(4桁)を学習させて、次の当選番号(4桁)を学習させる

1文字づつバージョン

スクリーンショット 2016-08-06 17.00.54.png

  • 1000epochくらい学習させて perplexityが6くらい。全然下がらない。

とりあえず予測はさせてみる

スクリーンショット 2016-08-06 17.00.40.png


1回毎の当選番号で学習バージョン

  • 1000epochくらい学習させて perplexity 1くらい。上々である。
  • こちらも予測させてみる。

スクリーンショット 2016-08-06 17.05.24.png


そして買ってみる

numbers.png


結果!


スクリーンショット 2016-08-08 21.27.23.png


numbers4.png


セットボックス当選だぁぁぁぁあああああああああ!!!!!!!


考察

  • 今回ヒットしたのは「一文字づつ学習」させたほう
  • 両方共「9」や「4」が出てくると予想してたみたい
  • 引っ張り現象はあるんや!!

糸冬