どのようにすれば予測が出来るのですか?

2,411 views
Skip to first unread message

モグ

unread,
Jul 10, 2018, 6:29:44 PM7/10/18
to Neural Network Console Users (JP)
「誰でもディープラーニングができる」とのことで始めた全くの素人です。
場違いとは思いつつも質問させていただきました。

Windowsアプリ版です。
データも揃ってるとのことで日経平均株価をダウンロードし使っていました。

今現在は自動最適化も済ませ、複数の「学習結果リスト」も出た状態ですが、それから先のどのようにすればそれを使い予測が出来るのかが分かりません。
その手順などどこかに解説されてるかと思い探しましたが見つかりません。

よろしくお願いします。

c90

unread,
Jul 10, 2018, 9:18:32 PM7/10/18
to Neural Network Console Users (JP)
validationデータセットに予測したい時の入力データを入れて、正解データは適当に0を入れておきます(出力データはないので)。
このデータを登録して、evaluationを実行すると、予測値が得られます。


2018年7月11日水曜日 7時29分44秒 UTC+9 モグ:

モグ

unread,
Jul 11, 2018, 9:41:25 AM7/11/18
to Neural Network Console Users (JP)
c90 
ありがとうございます。
Results Historyの中から最適と思われるのを選び、evaluationを実行すれば良いのですね?
添付画像のようになりましたがこれで合ってるのでしょうか?

キャプチャ.JPG

c90

unread,
Jul 12, 2018, 3:22:31 AM7/12/18
to Neural Network Console Users (JP)
この画面は、分類問題の学習結果の良し悪しを判断するものです。
Output Resultsの方のy'が予測結果そのものです。

分類も回帰もどうなるか(予測と言った意味で)はそちらを見てください。

モグ

unread,
Jul 12, 2018, 7:58:42 AM7/12/18
to Neural Network Console Users (JP)
c90 様
ありがとうございます。

この画面のが予測結果ではないのですね。
それに「分類問題の学習結果の良し悪しを判断するもの」の意味も今一分かっていませんがね(汗;

Output Resultsの方の「y’_0」は 8.359765e-08 になっています。
この数値はどのように見れば良いのでしょうか?

ちなみに y:label=0 は「株価が下がる」を意味しています。


c90

unread,
Jul 13, 2018, 7:34:15 AM7/13/18
to Neural Network Console Users (JP)
 8.359765e-08 は0.00000008359765なので、ほぼ0ということで、下がると解釈していいと思います。
0,1だけならば、損失関数をBinaryCrossEntropyを使った方がいいかもしれません。(好みの問題かもしれませんが)

2018年7月12日木曜日 20時58分42秒 UTC+9 モグ:

モグ

unread,
Jul 14, 2018, 10:44:58 AM7/14/18
to Neural Network Console Users (JP)
c90 様
すみません。
この画面とOutput Resultsの方の「y’_0」は0.999997の場合ではどのように判断すれば良いのでしょう?
y:label=0 は「株価が下がる」、y:label=1 は「株価が小動き」、y:label=2 は「株価が上がる」です。


キャプチャ1.JPG

c90

unread,
Jul 15, 2018, 2:48:58 AM7/15/18
to Neural Network Console Users (JP)
私の回答、ネットワークが分からず適当なこと言ってましたね。後半間違ってます。

>8.359765e-08 は0.00000008359765なので、ほぼ0ということで、下がると解釈していいと思います。
8.359765e-08 は0.00000008359765なので、ほぼ0ということで、「それではない」と解釈していいと思います。


>この画面とOutput Resultsの方の「y’_0」は0.999997の場合ではどのように判断すれば良いのでしょう?
>y:label=0 は「株価が下がる」、y:label=1 は「株価が小動き」、y:label=2 は「株価が上がる」です。

この場合、3分類でy'__0,y'__1,y'__2のそれぞれの確率が出てるんでしょうから、y'__0が1で、他はゼロだと思いますから、
「株価が下がる」になると思われます。(ネットワーク見てないので、勘で答えてます)
ただ、確率出ない(y'__0+y'__1+y'__2≠1)場合もあるかもしれないので、出力のパターンに合わせて解釈すればいいと思います。


2018年7月14日土曜日 23時44分58秒 UTC+9 モグ:

モグ

unread,
Jul 16, 2018, 5:55:20 PM7/16/18
to Neural Network Console Users (JP)
 c90 様
ありがとうございます。

ほぼ0ということで、「それではない」と解釈するのですね。
分かりました。

はい、y'__0が1で、他はゼロとなっていますのでそのように解釈します。

それともう一点、、自動で最適化された Results History 内にある各項目を全て順次自動的に評価をして行く方法はないのでしょうか?
今はResults History 内にある項目ひとつづつをクリック選択をし、評価を行ってるのですが、なにぶん数も多く時間も掛かってもしまいます。
もしくは、評価をしなくてもどれが一番最適かが分かる方法でもあれば良いのですが。

小林由幸

unread,
Jul 18, 2018, 6:16:35 AM7/18/18
to Neural Network Console Users (JP)
> それともう一点、、自動で最適化された Results History 内にある各項目を全て順次自動的に評価をして行く方法はないのでしょうか?
> 今はResults History 内にある項目ひとつづつをクリック選択をし、評価を行ってるのですが、なにぶん数も多く時間も掛かってもしまいます。
> もしくは、評価をしなくてもどれが一番最適かが分かる方法でもあれば良いのですが。

残念ながらすべてまとめて評価を行うことはできません。
しかしながら、基本的には評価を行わなくても、Best Validation Errorの値を見ることで、モデルの優劣を判断することができます。


1点気になるのが、Confusion Matrixに評価データが1つしか無い点です。
いずれにせよこれでは正確な精度評価は困難です。

学習に用いたネットワーク構造、学習評価データセットの内容など共有していただけるとより具体的なアドバイスができるかもしれません。

モグ

unread,
Jul 19, 2018, 7:21:18 AM7/19/18
to Neural Network Console Users (JP)
小林由幸 様
ありがとうございます。

Best Validation Errorの値とはResults HistoryにあるBest Validationのことでしょうか?
実際にはConfusion Matrixで表示がされたy:label=1 は「株価が小動き」のため売買の対象外とはなります。

> 1点気になるのが、Confusion Matrixに評価データが1つしか無い点です。
7月11日の添付ファイル キャプチャ.JPGのことでしたらすみません。
これは間違ってましたので、7月14日の添付ファイル キャプチャ1.JPGの方が合っています。

ネットワーク構造は最初に付いてる binary_connect_mnist_MLP.sdcproj を少しアレンジをし自動最適化をしています。
学習評価データセットの内容は下記を参考にし作成しました。
ちなみにstock0フォルダーには「下落」の数値データファイル、stock1フォルダーには「小動き」の数値データファイル、stock2フォルダーには「上昇」の数値データファイルが入っていますし、同じくy:labelも0・1・2となっています。

以上、分かりにくい説明ですが(汗;)

小林由幸

unread,
Jul 25, 2018, 6:05:04 AM7/25/18
to Neural Network Console Users (JP)
7月14日の添付ファイル キャプチャ1.JPGにおいても評価データ点が1点しか無いように見えます。
(y=2の行、y'__0の列の1のみ)。
こちらは評価に用いているデータセットCSVファイルにデータが1行しかないということを意味します。
正しい精度評価(例えば1%単位)を行うためには、データセットCSVファイルに100行が必要になります。

また、 binary_connect_mnist_MLPは、BinaryConnectという2値化ニューラルネットワークの論文を元にしたサンプルになります。
学習したニューラルネットワークを非力なエッジデバイス上で実行したい場合には有益ですが、精度を求めるのであればBinaryConnectAffineレイヤーは通常のAffineレイヤーに置き換えたほうが良いかと思います。

モグ

unread,
Jul 26, 2018, 5:38:43 AM7/26/18
to Neural Network Console Users (JP)
小林由幸 様
ありがとうございます。

> 7月14日の添付ファイル キャプチャ1.JPGにおいても評価データ点が1点しか無いように見えます。
これは学習済みのプロジェクトのValidationに、これから予測をしたいデータ(CSVファイル、5行×4列)とを入れ替え、評価ボタンを押しその結果として出た予測結果です。
従って予測データそのものが1点しか無いためそのようになっていますが、もしかしたら予測の仕方が間違ってるのかもしれません。

> 精度を求めるのであればBinaryConnectAffineレイヤーは通常のAffineレイヤーに置き換えたほうが良いかと思います。
BinaryConnectAffineレイヤーは 4 まであります。
これ全てを各々Affineレイヤーに置き換えるのでしょうか?
全てを置き換えをし TRAINING した結果は、概ね添付画像のようになりました。

キャプチャ.JPG

モグ

unread,
Aug 5, 2018, 11:16:25 PM8/5/18
to Neural Network Console Users (JP)
小林由幸 様

Affineレイヤーに置き換えるのはひとつだけで良いようですね。
ありがとうございます。
解決とさせていただきます。

小林由幸

unread,
Aug 6, 2018, 5:14:47 AM8/6/18
to Neural Network Console Users (JP)
> これ全てを各々Affineレイヤーに置き換えるのでしょうか?

はい、すべて置き換えます。


> 全てを置き換えをし TRAINING した結果は、概ね添付画像のようになりました。

学習曲線を見る限り、さらにepochを重ねるとまだ誤差が下がりそうですので、CONFIGタブでMax Epochの値を増やしてみてはいかがでしょうか。

モグ

unread,
Aug 6, 2018, 11:11:02 AM8/6/18
to Neural Network Console Users (JP)
小林由幸 様

早速そのようにしましたら Accuracy値なども向上させることが出来ました。
ありがとうございます。

モグ

unread,
Aug 7, 2018, 6:15:00 AM8/7/18
to Neural Network Console Users (JP)
どこかに予測の方法(仕方)が書かれたとこはないでしょうか?

今してるのは・・
・DATASETのValidationに予測をしたいcsvファイルを入れる。
・次に自動最適化されたResults History中から最良を思われるものをクリックをし、Evaluationを実行し予測をする。
   
この方法ですと次回に予測をする時にも、いちいちResults History中をクリックするなど、もう一度同じことをしなければなりません。
もっと簡単に出来る良い方法があればと思います。

それと・・
Results HistoryにあるTraining、Validation、Best Validation、Multiply Addの意味の解説はどこかにあるのでしょうか?

お手数をお掛けします。よろしくお願いします。

小林由幸

unread,
Aug 15, 2018, 9:23:33 PM8/15/18
to Neural Network Console Users (JP)
GUI上で新規データに対して予測を行う方法は、書かれている方法がベストです。
学習が完了した後、学習済みのモデルに対して推論を行うには、Neural Network Librariesを用いた方法が便利です。

詳しくは以下のチュートリアルをご参照ください
https://support.dl.sony.com/docs-ja/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%EF%BC%9Aneural-network-console%E3%81%AB%E3%82%88%E3%82%8B%E5%AD%A6%E7%BF%92%E6%B8%88%E3%81%BF%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9/


> Results HistoryにあるTraining、Validation、Best Validation、Multiply Addの意味の解説はどこかにあるのでしょうか?

Trainingは最終epochにおけるCONFIGタブ、train_errorの設定に従い評価された評価値(デフォルト設定ではTrainingデータセットにおけるMAINネットワークのロスの値)
Validationは同じく最終epochにおけるCONFIGタブ、valid_errorの設定に従い評価された評価値(デフォルト設定ではValidationデータセットにおけるMAINネットワークのロスの値)
Best Validationは、Validationの値が最も小さくなったepochとその時の値
Multiply AddはCONFIGタブ、Executorで設定した推論用ネットワークの実行に必要な乗加算回数(デフォルト設定ではMAINネットワークの乗加算回数)を表しています。

モグ

unread,
Aug 19, 2018, 5:07:33 PM8/19/18
to Neural Network Console Users (JP)
小林由幸 様

詳しい説明ありがとうございます。
トライしてみます。

モグ

unread,
Aug 20, 2018, 10:11:56 PM8/20/18
to Neural Network Console Users (JP)
> 詳しくは以下のチュートリアルをご参照ください

ありがとうございます。
読んでもみ試しもしてみたのですが何分素人の儚さ。
どれをインストールすれば良いのかすら分かりませんでした(>_<)
ちなみにWindows版です。

小林由幸

unread,
Aug 26, 2018, 9:42:35 PM8/26/18
to Neural Network Console Users (JP)

Windows版をお使いであれば、追加のインストールは特に必要ありません。


Windowsのコマンドプロンプトを開き、
「Windows版Neural Network Consoleをご利用の場合、同梱のPython環境がそのまま利用可能です。」
以下の操作を実行してみてください。

モグ

unread,
Aug 30, 2018, 6:54:41 AM8/30/18
to Neural Network Console Users (JP)
小林由幸 様
ありがとうございます。

> 同梱のPython環境がそのまま利用可能です。
Pythonを新たにインストールしたのですが、その必要はなかったとのことなんですね?
必要がなければアンインストールもしょうかと思っています。

> 以下の操作を実行してみてください。
先日教えて頂いたこれのことでしょうか?

小林由幸

unread,
Sep 4, 2018, 1:56:43 AM9/4/18
to Neural Network Console Users (JP)
はい、こちらのチュートリアルの「Windows版Neural Network Consoleをご利用の場合、同梱のPython環境がそのまま利用可能です。」以下の操作になります。

モグ

unread,
Sep 6, 2018, 12:46:46 AM9/6/18
to Neural Network Console Users (JP)
小林由幸 様
ありがとうございます。

> 同梱のPython環境がそのまま利用可能です。
そうなんですね、別途インストールしたPythonはアンインストール致しました。

以下の操作に進んで・・

ここまでは来たのですが・・
意味不明なとこもあって肝心のNeural Network Librariesがインストール出来ません。
つきましては誠に残念なのですがNeural Network Librariesを用いるのは断念をしたいと思います。


モグ

unread,
Sep 15, 2018, 11:37:29 AM9/15/18
to Neural Network Console Users (JP)
すみません。学習に於いてですが、
x:dataには過去から今までのデータの入ったcsvファイル名を、y:dabelにはそれに基ずく結果を入れています。
そこで質問なのですが、この y:dabelに入れる結果は同じく過去から今に至っるまでのもので良いのでしょうか?
それとも、この後に起こったものを結果として入れれば良いのでしょうか?
過去か?、未来か? のお教えの程お願いします。

小林由幸

unread,
Sep 19, 2018, 9:46:36 PM9/19/18
to Neural Network Console Users (JP)
同梱のPython環境を利用することで、PythonはもとよりNeural Network Librariesもセットアップ済みのものが利用でき、インストールの必要はありません。

また推論時の話で、推論にyを用いていないのだとすれば、yには値を入れる必要はありません。
推論に用いるデータセットCSVファイルの中から列ごと削除することができます。

モグ

unread,
Sep 21, 2018, 5:32:06 AM9/21/18
to Neural Network Console Users (JP)
小林由幸 様
ありがとうございます。

> チュートリアル:Neural Network Consoleによる学習済みニューラルネットワークのNeural Network Librariesを用いた利用方法2種
教えてもいただいた↑のも見たのですが、そもそもどのようにすればPythonが利用でき、Neural Network Librariesもセットアップ済みのものが利用できるのか? すらも分かってはいません。
冒頭にも書きましたように所詮「誰でもディープラーニングができる」とのことで始めた全くの素人。
断念をせざるを得ないようです。

> また推論時の話で、推論にyを用いていないのだとすれば、yには値を入れる必要はありません。
推論時とは予測する時のことですよね?
そうではなく学習をする時のことです。
具体的にはtraning.csvとtest.csvになります。

> 推論に用いるデータセットCSVファイルの中から列ごと削除することができます。
ちなみにどのようにすれば削除が出来るのでしょうか?
データはVisual Basicで作ってはいるのですが当ソフトでも出来るのであれば。

小林由幸

unread,
Oct 2, 2018, 12:31:32 AM10/2/18
to Neural Network Console Users (JP)
> そもそもどのようにすればPythonが利用でき、Neural Network Librariesもセットアップ済みのものが利用できるのか?

こちらについて手順を開設したものが、以下のチュートリアルの
「1.2 Neural Network Librariesが利用可能な環境を準備する」の「Windows版Neural Network Consoleをご利用の場合、同梱のPython環境がそのまま利用可能です。」以下の説明になります。

チュートリアル:Neural Network Consoleによる学習済みニューラルネットワークのNeural Network Librariesを用いた利用方法2種

こちらについては適切に回答できていませんでした。
xからyを推定する問題を解くとき、xにyの情報が含まれてしまうとyは当然xから推定できることになり実用上意味がありませんので、
少なくとも今回の場合yはxの時間より先の(xにとって未知の)ラベルである必要があるかと思います。

モグ

unread,
Oct 5, 2018, 8:16:23 PM10/5/18
to Neural Network Console Users (JP)
小林由幸 様
ありがとうございます。

> チュートリアル:Neural Network Consoleによる学習済みニューラルネットワークのNeural Network Librariesを用いた利用方法2種
何度も読み返してるのですが理解が出来ません(汗;

> 1.2 Neural Network Librariesが利用可能な環境を準備する
で、、
を見て、たぶん、、
> Installation on Windows
が該当すると思い、それをクリックし開くと、
そこには下記のようにもあるのですが、やはりPythonは別途インストールする必要があるのでしょうか?
> Required software.
> Python 2.7 or Python>=3.5: PIP

> 少なくとも今回の場合yはxの時間より先の(xにとって未知の)ラベルである必要があるかと思います。
実は、yの情報を過去のものと未来のものとの両方を試してもいます。
そのれによりますと、、学習とその評価結果に於いても、更にはそれに基づいての予測に於いても、前者の過去のほうが圧倒的に優れてもいます。
何故、そうなるのかは分かってはいませんが(汗;

小林由幸

unread,
Oct 25, 2018, 10:45:08 PM10/25/18
to Neural Network Console Users (JP)
yをxに含まれる時間のデータである場合、yを推定するための情報がxに含まれていると考えられます。
これはテストの問題文に答えが載っているような状態ですので、これが原因で高い精度になるのではないでしょうか。

モグ

unread,
Oct 30, 2018, 4:52:49 AM10/30/18
to Neural Network Console Users (JP)
確かにそうなのですが、他のサイトに投稿されてるのを見ても何故か過去。
ちなみに未来にした場合には添付画像のようにもなってもしまいます。
もちろんxのデータは同じです。

キャプチャ.JPG
Reply all
Reply to author
Forward
0 new messages