bttderiv
時間的な逆伝播の導関数
構文
bttderiv('dperf_dwb',net,X,T,Xi,Ai,EW)
bttderiv('de_dwb',net,X,T,Xi,Ai,EW)
説明
この関数は、ネットワークのパフォーマンスから得られる連鎖律を使用して、ネットワークを遡る向き (動的ネットワークの場合は時間を遡る向き) の導関数を計算します。
bttderiv('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 はタイムステップの数です)。
bttderiv('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);
gwb = bttderiv('dperf_dwb',net,x,t)
jwb = bttderiv('de_dwb',net,x,t)
バージョン履歴
R2010b で導入
参考
defaultderiv | fpderiv | num2deriv | num5deriv | staticderiv