初めてのNeuralNetworkConsole!!データセットの自動グラフ化機能

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

SONY neural network consoleの勉強と遊びをかねてFXの機械学習を何度か試みました。

【過去ブログ】
5分で分かるSONY neural network consoleによる画像教師データの作り方
多次元配列の数値データのDataSetの作成方法1(1行X列のデータを1ファイルに定義する方法)
多次元配列の数値データのDataSetの作成方法2(X行X列のデータを定義する方法)

しかし、何をやっても結果が同じにしかならない。
どのデータも全て同じデータに見えてしまう。記事では紹介していませんが、リカレントニューラルネットワーク使ってみたり、データの分布をかえてみたりしましたが、何をやっても、どのデータの予想結果も全く同じ。データにより予想結果が変わることが無い。なんでーーと頭を抱えていたらあることに気づいたので記事にします。

1.Neural Network ConsoleのDataSet自動グラフ化機能

前述の通りFX予想の結果が全く同じになり頭をかかえていたら、ある表示に気づきました。

SONY neural network consoleのDatasetのグラフ化機能

あれっ? なんだろ。この青い線。
てっきり全く同じ線だからアンダーラインみたいなものかなと思っていましたが・・・、違う!!
これグラフだー。
1年くらい前にサンプル試していた時、確かちゃんとグラフになってたーーー。
忘れてたー。

Neural Network ConsoleのDataSet編集画面はグラフのあたりをクリックすると中身のCSVデータを見ることが出来ます。

為替の過去データ
うーん。まったく同じではないけれど、まあ誤差ですね。
どのデータも同じ結果になったのはこれが原因の可能性が高い。
いやこれだ!!

 

2.Neural Network ConsoleのDataSet自動グラフ化機能の表示例

さっそくデータのスケールなどを調整してみました。

SONY neural network consoleのDatasetの自動グラフ化機能

SONY neural network consoleのDataset自動グラフ化機能

やっぱりグラフでしたーー。
上と下でグラフの特長違うし、今度こそ結果に違いが出るだろう。

GIT HUBにサンプルのデータセットを登録したので良ければご利用下さい。

github.com

終値変動率=(終値ー前日終値)/ 前日終値 * 100
始値変動率=(始値ー前日終値)/ 前日終値 * 100
高値変動率=(高値ー前日終値)/ 前日終値 * 100
安値変動率=(安値ー前日終値)/ 前日終値 * 100
としています。要は前日終値からの各値の変動率を出しています。
この出し方が良いのかは色々検証してみないと分かりませんが、まずは各データの予想結果が変わってくれるかを検証します。

 

3.FX為替予想結果

詳細は別記事に記載しますが、結果が変わりました。f:id:shibayu2002:20190310112521j:plain

まだまだ期待値には及びませんが、どのデータも全く同じということは無くなりました。

為替予想結果

 

今回分かったことと教訓。DataSetのグラフデータはきちんと見よう。
  • Neural Network Consoleには自動グラフ化機能がある
  • グラフでどのデータも同じに見えるものは同じものと扱われる
    実際には多少の結果の差異があったので、微小な違いもきちんと判定している様ですが、誤差の範囲になります。
  • 各データの値の差が微細なデータを学習する場合はスケールを見直そう
    データの差が誤差ではなく明確な差異として分かるように倍率をかえたり、比率で出したりしてみよう。

 

◆ 推薦図書

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

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

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

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

広告




スポンサーリンク
広告




広告




シェアする

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

フォローする

スポンサーリンク
広告