こんにちは。管理人のピヨ猫でーす。
前回、SONY neural network consoleで画像データの学習を行ってみました。
AIでFX分析!!SONY neural network consoleでFX予想をしてみた
AIでFX分析!!SONY neural network consoleでFX予想をしてみた
目的のFX予想が画像解析では良い結果とならなかったので、画像ではなく数値データで試してみたので記事に致します。
SONY neural network consoleで多次元配列を定義する方法には以下の2つあります。
- データセットCSVファイルに直接記入する方法
1行X列の配列(ベクトル)を表現する方法です。
1つのCSVに直接記入できるのでファイルの管理が簡単ですが、膨大な次元を表現する場合には1つのCSVファイルが巨大になりメモリに乗り切らない可能性があります。◆1行X列の配列(ベクトル)の例
- データごとにCSVファイルを用意する方法
X行X列の配列(ベクトル)を表現する方法です。
行列データのCSVをデータごとに用意する必要があるので、ファイル数が増えますが、1ファイルが巨大になりメモリに乗り切らないという問題を防げます。◆ X行X列の配列(ベクトル)の例
詳しくは本家のマニュアルを参照ください。
1行X列のデータを定義する場合は、Neural Network ConsoleのデータセットCSVファイルにベクトルを直接記入します。
例えば、入力xとして5次元のベクトルを用いる場合は、x__0~x__4(変数名x、ダブルアンダースコアに続けてベクトル要素のIndex値0~4)の5つの列を作成し、セルにはそれぞれの要素の値を記入します。
注意点は大きく2点です。
- 入力データの変数名は「x + アンダースコア2つ(__)+ 0からの連番」とする
- 出力データの変数名は「y + アンダースコア2つ(__)+ 0からの連番」とする
重要なので繰り返します。
- 入力データの変数名はx固定です。yとかzとか付けれません。(※1)
- 出力データの変数名はy固定です。(※1)
- 多次元データとする場合は変数名の後ろに数字(0~)を付与します。
- xと連番の間にアンダースコアを2つ入れます。
※1 入出力データの変数名はネットワークの属性で変更可能です。
(あまりいじることは無いと思います。)
為替レートの時系列データです。
終値,始値,高値,安値の次元を時系列でもつデータなのでX行X列で表現した方が分かり易いのですが、強引に1行X列で表すために(1日め終値,1日め始値,1日め高値,1日め安値,2日め終値,2日め始値,2日め高値,2日め安値,・・・,n日め終値,n日め始値,n日め高値,n日め安値,)で表しています。
- テンプレートのプロジェクト(01_logistic_regression.sdcproj)を選択
-
別名でプロジェクトを保存
- データセットを読み込む
トレーニングデータとテストデータの両方を読み込む - 入力層のサイズを入力データの配列数に変更する
変更前)変更後)
- Neural Network Consoleを実行
上記のネットワークは単純すぎるので、改善が必要です。
SONY Neural Network Consoleには最適なネットワークをNeural Network Console自身が自ら探す優れた機能が備わっています。
別途記事にしたいと思いますが設定画面でStructure Searchにチェックを付けるとネットワークを自動探索してくれます。
で肝心のFXの為替予想はどうなったかといいますと~~
Σ( ̄ロ ̄lll)ガーン
ものの見事に全てが-0.68%~-0.34%のクラスに属しています。
画像解析した場合と結果が変わりません。
参考)画像解析によるFX分析結果
データに特徴が無いということなのかな・・・。
うーん。なんでだろう。
2019/03/30追記
原因が分かりました。教師データのスケールが問題でした。
各データの差が僅差なのでほとんど全て同じデータとみなされていました。
初めてのNeuralNetworkConsole!!DataSetの自動グラフ化機能
◆ 推薦図書
![]() |
詳解 ディープラーニング TensorFlow・Kerasによる時系列データ処理 [ 巣籠 悠輔 ] 価格:3,672円 |
![]() |
【送料無料】 機械学習 データを読み解くアルゴリズムの技法 / 竹村彰通 【本】 価格:6,696円 |