【python】~TensorflowによるLSTMの実装④~
スポンサーリンク
KeyKです。
LSTMも無事に動いたので、今日からは予測を行っていきます。
昨日の振り返り
昨日の予測は全然ダメでしたね。笑
人工知能について詳しく理解できていない点が多いので、学習データが正しいのかも分からない。。。
という訳で、少しだけお勉強してきました。
改善点
昨日の失敗を活かしつつ、いくつか改善を行いました。
1. 出力結果の見直し
出力結果を上がるか下がるかの0、1で予測し直してみました。0~1の値しか取っていないのに、出力結果は約-1.3。全然違うし原因も分からないため、今まで通りpips数を予測します。
2. 正規化・標準化の見直し
正規化がいいのか、標準化がいいのか検討してみました。為替変動を予測するテクニカル指標には上限下限がないものも多いので、正規化は向きません。使用するのであれば標準化が良いと思います。
3. 標準化の利用
先ほど、上限下限がないものは標準化を行うとしましたが、オシレータ指標であれば標準化はいりません。(最小値で0%、最大値で100%となるためです。)そのため、オシレータ指標の値をそのまま利用します。
結果は・・・
条件は昨日と同じです。違う点は、オシレータ指標値の標準化を無くした点と予測値をpips数にした点です。
その結果・・・
(tf_env) C:\python\ai>python lstm.py Using TensorFlow backend. 2019-10-31 21:51:57.880047: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 Predict Result : [[[-9.164628]]]
予想は9pipsの値下がり。実際は11pipsの値下がり。めっちゃくっちゃ精度が良い!!!
さっきまであんなに変な値だったのに、急に精度が向上しました。LSTMはやればできる子でした!!
まぁ、偶然である可能性が高いので、驕らずに研究を続けていきたいと思います。