NeuralNetworkConsoleで多次元配列のデータセットを作成する方法

こんにちは。管理人のピヨ猫でーす。

前回、SONY neural network consoleで画像データの学習を行ってみました。

AIでFX分析!!SONY neural network consoleでFX予想をしてみた
AIでFX分析!!SONY neural network consoleでFX予想をしてみた

目的のFX予想が画像解析では良い結果とならなかったので、画像ではなく数値データで試してみたので記事に致します。

1.Neural Network Consoleで多次元配列を定義する2つの方法

SONY neural network consoleで多次元配列を定義する方法には以下の2つあります。

  1. データセットCSVファイルに直接記入する方法
    1行X列の配列(ベクトル)を表現する方法です。
    1つのCSVに直接記入できるのでファイルの管理が簡単ですが、膨大な次元を表現する場合には1つのCSVファイルが巨大になりメモリに乗り切らない可能性があります。

    ◆1行X列の配列(ベクトル)の例

    SONY neural network consoleの多次元配列Dataset
    SONY neural network consoleの多次元配列Dataset

  2. データごとにCSVファイルを用意する方法
    X行X列の配列(ベクトル)を表現する方法です。
    行列データのCSVをデータごとに用意する必要があるので、ファイル数が増えますが、1ファイルが巨大になりメモリに乗り切らないという問題を防げます。

    ◆ X行X列の配列(ベクトル)の例

    SONY neural network consoleのDataset

    SONY neural network consoleの多次元配列Dataset

     

詳しくは本家のマニュアルを参照ください。

support.dl.sony.com

2.Neural Network ConsoleのDataSetの定義方法とサンプルデータ

1行X列のデータを定義する場合は、Neural Network ConsoleのデータセットCSVファイルにベクトルを直接記入します。
例えば、入力xとして5次元のベクトルを用いる場合は、x__0~x__4(変数名x、ダブルアンダースコアに続けてベクトル要素のIndex値0~4)の5つの列を作成し、セルにはそれぞれの要素の値を記入します。
SONY neural network consoleの多次元配列Dataset

注意点は大きく2点です。

  1. 入力データの変数名は「x + アンダースコア2つ(__)+ 0からの連番」とする
  2. 出力データの変数名は「y + アンダースコア2つ(__)+ 0からの連番」とする

重要なので繰り返します。

  • 入力データの変数名はx固定です。yとかzとか付けれません。(※1)
  • 出力データの変数名はy固定です。(※1)
  • 多次元データとする場合は変数名の後ろに数字(0~)を付与します。
  • xと連番の間にアンダースコアを2つ入れます。
    ※1 入出力データの変数名はネットワークの属性で変更可能です。
          (あまりいじることは無いと思います。)
GIT HUBにサンプルのデータセットを登録したので良ければご利用下さい。

github.com

為替レートの時系列データです。
終値,始値,高値,安値の次元を時系列でもつデータなのでX行X列で表現した方が分かり易いのですが、強引に1行X列で表すために(1日め終値,1日め始値,1日め高値,1日め安値,2日め終値,2日め始値,2日め高値,2日め安値,・・・,n日め終値,n日め始値,n日め高値,n日め安値,)で表しています。

SONY neural network consoleのDatasetサンプル(ドル円の変動データ)

 

3.Neural Network Consoleの設定方法
  1. テンプレートのプロジェクト(01_logistic_regression.sdcproj)を選択

    f:id:shibayu2002:20190327221443p:plain

  2. 別名でプロジェクトを保存

    neural network console

  3. データセットを読み込む
    トレーニングデータとテストデータの両方を読み込む

    f:id:shibayu2002:20190327221803p:plain

    SONY neural network consoleのDataset作成機能

  4. 入力層のサイズを入力データの配列数に変更する
    変更前)

    SONY neural network consoleのDataset作成機能

    変更後)

    SONY neural network consoleのDataset作成機能

  5. Neural Network Consoleを実行

    SONY neural network consoleのDataset

    SONY neural network consoleのDataset

上記のネットワークは単純すぎるので、改善が必要です。
SONY Neural Network Consoleには最適なネットワークをNeural Network Console自身が自ら探す優れた機能が備わっています。
別途記事にしたいと思いますが設定画面でStructure Searchにチェックを付けるとネットワークを自動探索してくれます。

SONY neural network consoleのDataset
 

4.サンプル実行結果(FXの為替予想を学習した結果)

で肝心のFXの為替予想はどうなったかといいますと~~

f:id:shibayu2002:20190327223956p:plain

Σ( ̄ロ ̄lll)ガーン

ものの見事に全てが-0.68%~-0.34%のクラスに属しています。
画像解析した場合と結果が変わりません。

参考)画像解析によるFX分析結果

syuuai.hatenablog.com

データに特徴が無いということなのかな・・・。

うーん。なんでだろう。

f:id:shibayu2002:20190302113110p:plain

2019/03/30追記 
原因が分かりました。教師データのスケールが問題でした。
各データの差が僅差なのでほとんど全て同じデータとみなされていました。
初めてのNeuralNetworkConsole!!DataSetの自動グラフ化機能

 

◆ 推薦図書

詳解 ディープラーニング TensorFlow・Kerasによる時系列データ処理 [ 巣籠 悠輔 ]

価格:3,672円
(2018/11/25 22:43時点)
感想(0件)

【送料無料】 機械学習 データを読み解くアルゴリズムの技法 / 竹村彰通 【本】

価格:6,696円
(2019/3/23 23:16時点)
感想(0件)

広告




スポンサーリンク
広告




広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
広告