俺にも執筆活動させろボケ

単勝を

f:id:nemui3900:20181009170641j:plain

1号艇のみ予想でだいたい半分あたる。

単純なNNで予想した

f:id:nemui3900:20181009111957j:plain

ほぼ1を買うのと変わらないね、

ここから特徴量を工夫したり選んだりして精度をあげていく。

チルトを捨てて展示タイムを時速に変換して特徴量に

当地2連率の0の部分を27で埋める。

その後も取捨選択して

f:id:nemui3900:20181009171911j:plain

1.6%上がった。

f:id:nemui3900:20181009172803j:plain

ハイパーパラメータをいじってSGDでエースを引く

2%あがった。

あとで回収率のバックテストやってみるか。

 

次元の呪いを見てきた

カテゴリカル・データにすると簡単に呪われてすぐに汎化性能を失うなあ。

レーサークラスA1とかB2とか全然使えないね、

3日前に作った重みが一番うまく学習できてたかもしれない。

もうどういう説明変数とモデルだったか忘れたわけだけど。

思ったんだけど適当に作った重みからの予想*今までの確率で

まともそうな予想になるのでは。

 

いやはや1/120(8.33)を超えるのも一苦労だぜ

超えた上で控除の壁があるからそういうゲームじゃねえからっていって次に進むつもりが。

というか諦めて複勝にからむか絡まないかで学習回そうかな。

1/120を超えるとしてもそんなんじゃ収支があんまりにも安定しないだろうし。

つーことで3連単をピタッとあてるのをやめて3連BOXを取りに行きます。

3連ボックスで当ててそういうゲームじゃねえからって言おう。

 

思ったけど、誰も買いたくない強い人を買うという意味ではF持ちって逆に買っていったほうが美味しいと思うんだが、全然検証してないけども。

見に行こうぜ次元の呪いってやつを

一応畳み込みできたけど6*6ぐらいじゃあんまり効果ないな、

場、モーター、選手の3チャンネルで試してもいいが表現力が足りなそうなので別の方法を考えよう。

真面目にカテゴリカル・データを処理しつつ今持ってるデータを一度全部ぶっこんでみることにした。

その過程で特徴量1項目づつピクルスにしておくとあとあと便利だと思いついた、

あれとあれで回してみて、ってデータ入れ替えつつ遊べるし。

逃亡生活(ボート)de 畳み込み

ようやく学習データが作成できた

f:id:nemui3900:20181005204837j:plain

これを学習させればほとんどの場と季節で1-2-3[1,0,0,0,0.....0]と返してくるはずだ。

さっそく畳み込みでやってみる。

コンピュータービジョンの項をまともに読んでなかったのでめでたくハングアップした。

今の所解決するめどが立たないのでもう少し勉強しないといけない。

根性が減ったので今日は終わり。

ボートで畳み込み

あまりにもランダムの壁すら超えない、

というかまあ見た目の問題で超えてはいる。

f:id:nemui3900:20181005115035j:plain

左から123,124,125,126,132,134なので

予想がイン寄りに傾ければ自ずとACCも上がるのだ。

しかしきれいに落ちていくかというとそうでもなく多くの12より132のほうが強いという特徴的な形をしている。

つまりは畳み込みを使うべきだと思うわけで

じゃあ畳み込みを使えるデータの形状ってどんなものなのかっていうと

ボートレース場データ|BOAT RACE オフィシャルウェブサイト

まさにこれなのでこれをベースに特徴量を考えていこうと思う。

まずは場ごとの四季折々のデータをDBにスクレイピングして入れるところから

ここで別VPCと自宅PCで同じコードでうまくpd.io.html.read_html(url)

が動作しない問題に直面した、家のPCでやるか。環境構築の問題なので先送りで。

ひたすらDBに書き込んで取れたのでベクトル化を進める。

f:id:nemui3900:20181005141743j:plain

四季*24のレース場で結構な量あってだるかったなあ。

 

ディープラーニングを始めようと思う人達へ

ある程度ブームは過ぎてそろそろ冬の時代を感じるAIことディープラーニングですが。

そんなAIをやってみようという特異な人たちに送る僕からのアドバイス

数学的要素は本当のところいらないので別に勉強しなくていいです。

しかし式の意味だけは理解している必要があります、

0+0=0

この式を見たときに左が足し算で右が答え

f(x)=y

この式を見たときは左が関数で右が答え、曲線か直線かは知らないがyが連続していく。

総和だとか外積だとか内積だとかが式として浮かんでるとやりやすい。必要なのはそのくらいの浅い知識。

まあそんなことも本当はどうでも良くて解きたい問題と説明できるデータがたくさんあるとこと、

そしてその問題とデータが魅力的ならばみんなが助けてくれる可能性が上がる。

つまりいきなりディープラーニング勉強しても続かないので

問題とデータを持った状態でいることのほうがもっとも重要。

解き方なんて後からいくらでも探せる、試せるので。

スクレイピングとかSQLとかpandasとnumpyを理解することが、

説明変数をうまく作ることがディープラーニングの本質なんじゃねえかと思う次第です。

逃亡生活(ボート)part9

120のカテゴリに使うニューロンの数の目安はどんくらいかなあ。

まあいい

まずは単純なホールドアウト法でいこう

12:4:2(バックテストで残しとく)

f:id:nemui3900:20181001134239j:plain

やっぱり512にした

epochs=3000で試す。

やってみないとよくわからないことが多すぎるのでよくわかってない間にトレーニング回して調べて試したいことをためとくべきだなあ。

チューニングできるようになるまでなかなか遠そうだ。