DQN
普段は プログラミング教育サービス N予備校 のバックエンドを担当しています。 ブログの賑やかしのためだけにQiitaの記事を転載します。 qiita.com TL;DR Bitcoinの過去の値動きを機械学習させた 学習済みモデルを使用して、エージェントにシステムトレード…
問題 今までepisode毎に集計してlossが少なくなればモデルを保存するようにしていた lossは増加するばかりで、何度回しても減らない(原因は不明) 一方、TensorBoardでrewardを眺めると、episodeを進める度にrewardは増えていっていた rewardが増えたら保存…
問題 TensorBoardで、学習の経過を視覚化したいな… 問題に対する解 コールバックを使った。そのままだと動かなかったので、一旦動くように変更。 github.com
現在の問題 学習の結果、モデルを保存していないので、学習結果を再利用できない。 問題に対する解 Episode毎にモデルが良くなっていたら、重みを保存する。 そのためのコールバックを作成し、学習の際に渡すことで、Episode終了毎に呼ばれるようにする。 gi…
試しに学習ができるよう、バグフィックスと機能追加。 2010年9月分を1Epoch学習させたところ、47.33分かかった。実際の学習にはこれを数年分、更に数万〜数十万Epoch分を回すので、このパフォーマンスでは厳しい。 次の一手として、GPUを使ってTensorFlowで…
今回は試しに学習させてみたところ、途中でエラーが出て止まってしまった。再帰的に直前の存在する日時インデックスを取得するメソッドにバグがあったので、この機会にもっとシンプルな実装へ変更した。 (前略) [2017-04-01 15:05:29,613] before 2010-09-…
現在の問題点その3 一つ心配事は、土日等休場日も学習すべきかどうかである。おそらく、48時間全く値動きがないことを学習しても仕方ないので、これは飛ばして良いと思う。問題はその次の数分の欠測である。欠測の間は値動き無しとして学習するのが良いの…
現在の問題点その3 一つ心配事は、土日等休場日も学習すべきかどうかである。おそらく、48時間全く値動きがないことを学習しても仕方ないので、これは飛ばして良いと思う。問題はその次の数分の欠測である。欠測の間は値動き無しとして学習するのが良いの…
現在の問題点その2 2010年9月3日のデータは23:00:00迄しかなく、23:01:00を読み出そうとした時にエラーが発生している。適切にスキップする処理が必要か。 現在の問題点その2に対する解 その日時におけるデータが存在しなければ、その直前のデータを参照すれ…
解決した内容 現在の問題点その1 h = HistData('2010/09') として、2010年の9月分を学習用に与えているが、ログを見る限り2010年9月1日の05:00:00迄しか学習していない? 問題点その1に対する解 nb_max_episode_steps = None にする。これが各エピソードにお…
元ネタはこれです qiita.com UdacityのMachine Learning for Tradingを修了して、いっちょやるか、と思い立ってのでやります。 https://www.udacity.com/course/machine-learning-for-trading–ud501www.udacity.com 上記の講座の中では、教化学習、その中で…