前提・実現したいこと
LSTMやGRUなど、RNNを使って時系列データの予測を行う際の方法について質問があります。
仮に為替レートの予測を行うとして、t_1からt_3までの3個の連続した時系列データを使って、t_4でのレートを予測するとします。
t | レート |
---|---|
1 | 100 |
2 | 101 |
3 | 99 |
4 | 102 |
5 | 105 |
これを、t_2からt_4を使ってt_5、t_3からt_5を使ってt_6...というように、N個の連続した時系列データを使ってN+1個目のデータを予測する場合、出力層での活性化関数は何を使うのが最適であると考えられるでしょうか?
またその場合の損失関数は何が良いでしょう?
漠然とした質問で申し訳ありません。
今試している方法は、N個のデータを使ってN+1個目のレートが増加する(1)か減少する(0)かの二値分類としており、活性化関数はシグモイド関数、損失関数はbinary_crossentropyを使用しています。
出力値が0.5以上なら増加、0.5以下なら減少と予測して、正解率を求めているのですがネットワークやパラメータを変更しても正解率が50%程度から上がりません。
原因は出力がすべて0.5付近の値を取っており、val_lossがあまり変化しないことで学習がうまくいっていないことが考えられるのですが、この解決策も何か思い当たるものがございましたら教えていただきたいです。
あなたの回答
tips
プレビュー