【TensorFlow】リカレントニューラルネットワーク(GRU)で為替レートを予測【FX】

【TensorFlow】リカレントニューラルネットワーク(GRU)で為替レートを予測【FX】

以前、リカレントニューラルネットワーク(LSTM)で為替レートの予測をしました。

今回は、LSTMをもう少しシンプルにしたGRUという方法を使って、同じようにレートの予測をしてみます。実装にはTensorFlowを使用します。
プログラム自体は以下のリンク先のコードを今回の目的に合わせて書き換えたものになっています。(私の好みで変数名を変えたりしています)

github.com

入力は1時間足の終値を10個、出力は、3時間後に上がるなら[1,0]、下がるなら[0,1]となります。
全データのうち、90%を学習用、残りの10%を評価用としています。
入力データの正規化に関しては、何が良いのか分からないので、適当に100を引いて、10で割っています。

プログラム

結果

 

結果としては、学習データに対しては正答率60%を超えましたが、評価用データに対しては、54%でした。
なお、損失関数のグラフは以下の通りとなりました。振動しながら徐々に下がっているような感じです。
ちゃんと学習出来ていると、序盤で一気に下がって、後は殆ど平行状態になるので、
規則性が無いために、オーバーフィッティングになっていると思われます。
なかなか、上手くいきません…