データを作って試してみましたが、うまくいきません・・・

使用したデータ

  • ある時点からn本前までのろうそく足から、Close - Open で値動きを見る
  • ある時点とm本後の終値との差分をデータの結果とする
  • 結果をクラスわけ(大きく下がる~大きく上がるまでの8段階)

これを1層のニューラルネットワーク(NN)で識別してみると、どうしても以下のようになってしまいます。。。

原因は何か?色々調べました。

  1. データが間違っている(不足している)
  2. Azure ML Studioの使い方が間違っている
  3. NNのパラメータが間違っている(隠れ層やノードの数
  4. 根本的な考え方が間違っている
  5. そもそも予測はできない

1.のデータに関して
「学習データに偏りがあると、結果も偏る」という情報があり、データ数を揃えたりしてみましたが、ダメでした。

2.の使い方に関して
文字認識等は普通に作れるので、使い方自体は間違っていないと思われる

3.NNのパラメータに関して
この部分は、まだ理解できていません。適当に1層~4層、ノード100個とかやってもダメでした。

4.根本的な考え方について
FXにDL適用を考え出した初期に、「時系列のろうそく足データをどう表現したらいいのか?」で随分悩んで足踏みしていました。
しかし手書き文字認識のサンプルが、28×28のデータでなくただの784個のデータとして扱っているのを見て、「ひょっとしたら簡単に考えていけるかも?」と思い、上記のデータにしましたが、やはりそう簡単ではなかったようです。
時系列データには、ReccurentなNN がいいらしい・・・?
MLStudioでRNNできないか?と調べていたら、MSの広報資料で「そもそも、ML StudioはNNまで、DeepNNは他サービス使ってね」となっており、がっかりです。_| ̄|○

5.そもそも予測はできない
この理由は最後にとっておきます。

というわけで、せっかく舞い戻ったML Studioですが、スペック上の問題から離れることになりました。
明日からフレームワーク選んで自前環境で進めていきます。(ハードルはうんと高くなると思いますが)
ちなみに、CNTK 使用予定です。

「Deep Learningを使って、お手軽FX」を狙ったカグヤprojectですが、簡単にはいきませんね・・・


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です