メインコンテンツ

num5deriv

5 点ステンシル ニューラル ネットワーク数値導関数

構文

num5deriv('dperf_dwb',net,X,T,Xi,Ai,EW)
num5deriv('de_dwb',net,X,T,Xi,Ai,EW)

説明

この関数は、5 点数値微分規則を使用して微分を計算します。

y1=y(x+2dx)y2=y(x+dx)y3=y(xdx)y4=y(x2dx)dydx=y1+8y28y3+y412dx

この関数は、(数値導関数ではない) 解析導関数と比べて非常に低速ですが、解析導関数をチェックする手段として用意されています。別の数値関数 num2deriv はより高速ですが、精度が劣ります。

num5deriv('dperf_dwb',net,X,T,Xi,Ai,EW) は、次の引数を取ります。

net

ニューラル ネットワーク

X

入力。R 行 Q 列の行列 (または、Ri 行 Q 列の行列からなる N 行 TS 列の cell 配列)

T

ターゲット。S 行 Q 列の行列 (または、Si 行 Q 列の行列からなる M 行 TS 列の cell 配列)

Xi

入力遅延の初期状態 (オプション)

Ai

層遅延の初期状態 (オプション)

EW

誤差の重み (オプション)

そして、ネットワークの重みとバイアスに関する性能の勾配を返します。ここで、R と S は入力要素と出力要素の数、Q はサンプルの数です (また、N と M は入力信号と出力信号の数、Ri と Si は各入出力要素の数、TS はタイムステップの数です)。

num5deriv('de_dwb',net,X,T,Xi,Ai,EW) は、ネットワークの重みとバイアスに関する誤差のヤコビアンを返します。

フィードフォワード ネットワークの学習を行い、勾配とヤコビアンを計算します。

[x,t] = simplefit_dataset;
net = feedforwardnet(20);
net = train(net,x,t);
y = net(x);
perf = perform(net,t,y);
dwb = num5deriv('dperf_dwb',net,x,t)

バージョン履歴

R2010b で導入