このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
openloop
ニューラル ネットワークの閉ループ フィードバックから開ループへの変換
構文
net = openloop(net)
[net,xi,ai] = openloop(net,xi,ai)
説明
net = openloop(net)
は、ニューラル ネットワークを受け取り、閉ループ フィードバックを開ループに変換します。これは、net.outputs{i}.feedbackMode
プロパティが 'closed'
である各フィードバック出力 i
について、関連するフィードバック層の重みを、新しい入力と入力重みの接続に置き換えます。net.outputs{i}.feedbackMode
プロパティが 'open'
に設定され、net.outputs{i}.feedbackInput
プロパティが新しい入力のインデックスに設定されます。最後に、フィードバック入力の重みの遅延 (置き換えられた層重みの遅延の値) から net.outputs{i}.feedbackDelays
の値が減算されます。
[net,xi,ai] = openloop(net,xi,ai)
は、閉ループ ネットワーク、およびその現在の入力遅延状態 xi
と層遅延状態 ai
を、開ループの形式に変換します。
例
NARX ネットワークから開ループ形式への変換
この例では、NARX ネットワークを開ループ形式で作成し、閉ループ形式に変換した後、開ループ形式に戻す方法を説明します。
[X,T] = simplenarx_dataset; net = narxnet(1:2,1:2,10); [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); net = train(net,Xs,Ts,Xi,Ai);
view(net)
Yopen = net(Xs,Xi,Ai); net = closeloop(net); view(net)
[Xs,Xi,Ai,Ts] = preparets(net,X,{},T); Yclosed = net(Xs,Xi,Ai); net = openloop(net); view(net)
[Xs,Xi,Ai,Ts] = preparets(net,X,{},T); Yopen = net(Xs,Xi,Ai);
バージョン履歴
R2010b で導入