num5deriv
5 点ステンシル ニューラル ネットワーク数値導関数
構文
num5deriv('dperf_dwb',net,X,T,Xi,Ai,EW)
num5deriv('de_dwb',net,X,T,Xi,Ai,EW)
説明
この関数は、5 点数値微分規則を使用して微分を計算します。
この関数は、(数値導関数ではない) 解析導関数と比べて非常に低速ですが、解析導関数をチェックする手段として用意されています。別の数値関数 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 で導入
参考
bttderiv | defaultderiv | fpderiv | num2deriv | staticderiv