質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1893閲覧

Neurolabニューラルネットワーク収束しない

oono

総合スコア38

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/07/08 12:26

編集2021/07/09 02:19
python(Windows10, anaconda)

neurolab(環境windows10 anaconda)にて、読み込んだcsvデータをニューラルネットワーク解析したい。
しかし、Epoch errorが下記のの如く、全く変化せず、収束に向かわない。
コマンドのどこかに問題あるのではなかろうか。どなたか下添付プログラムのコマンドに問題あればご指摘願えるとありがたく。
尚、csvデータ自体は公開できませんため、ご了解下さい。

Epoch: 100; Error: 1090.3814643188678;
Epoch: 200; Error: 1090.3814643188678;
Epoch: 300; Error: 1090.3814643188678;
Epoch: 400; Error: 1090.3814643188678;
Epoch: 500; Error: 1090.3814643188678;
.
.
.

因みに入力input fileのdata frameは以下の形(2266時間行x59項目タグ列)
PI814.PV TI842.PV ... PL.PV PR.PV
Time ...
2017-01-01 03:25:00 164.759995 198.149994 ... 0.120000 0.120000
2017-01-01 08:00:00 164.679993 200.250000 ... 0.180000 0.180000
2017-01-01 11:40:00 171.520004 190.229996 ... 0.120000 0.060000
2017-01-01 20:00:00 171.320007 190.199997 ... 0.180000 0.120000
2017-01-02 05:10:00 151.839996 198.149994 ... 0.180000 0.120000
... ... ... ... ...
2019-12-23 14:30:00 171.619995 157.350006 ... 0.180000 0.120000
2019-12-23 18:50:00 171.559998 186.240005 ... 0.300000 0.000000
2019-12-23 23:10:00 171.600006 187.529999 ... 0.240000 0.060000
2019-12-24 03:50:00 151.979996 208.139999 ... 73.919998 73.139992
2019-12-24 11:40:00 164.940002 224.669998 ... 0.300000 96.120003
``

# -*- coding: utf-8 -*- import neurolab as nl import numpy as np import pandas as pd #Data fileの取得 input_file="C:/MDP/data/data_va2.csv" #(2266行(時間index) x 60列(tags)) 説明変数tagデータの取得 tags_for_data=["a","b","c","d",.....] #60tag中59 df_data=pd.read_csv(input_file,encoding="shift-jis",index_col=0, engine="python") df_data=df_data[tags_for_data].loc[:,:] #以下標準化と分散0の列の削除 df_data=(df_data-df_data.min())/(df_data.max()-df_data.min()) df_data=df_data.dropna(how="all",axis=1) X=df_data.values #目的変数データ取得 objective="e" #60tag中の1tag df_obj=pd.read_csv(input_file,encoding="shift-jis",index_col=0, usecols=["Time",objective],engine="python") #以下正規化 #array_obj=array_obj/array_obj.max() array_obj=array_obj/np.linalg.norm(array_obj) y=array_obj.reshape(1,-1)[0] #配列化した入力データのtensorflow入力のためのリスト化 #最大値、最小値 xmax=X.max(axis=0) xmin=X.min(axis=0) dimX_lis=[] for i in range(0,len(xmax),1): min_max=[xmin[i],xmax[i]] dimX_lis.append(min_max) dimy_lis=[y.min(),y.max()] 以下Xとyのリスト化 #https://groups.google.com/g/py-neurolab/c/IlbdB6QK4VM 参照 lis_X=[] for x_array in X: lis_X.append(x_array.tolist()) #print(self.lis_X) lis_y=[] for f_obj in y: lis_y.append([f_obj]) #実行 nn=nl.net.newff(dimX_lis,[10,6,1]) nn.trainf=nl.train.train_gd error_progress=nn.train(lis_X,lis_y,epochs=2000,show=100,goal=0.01)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

最急降下法(nn.trainf=nl.train.train_gdの部分)を止めて、デフォルトの訓練functionにしたら、あっと言う間に収束しました。
解決です。

投稿2021/07/14 01:47

oono

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問