メインコンテンツ

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 で導入