ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

narnet

非線形自己回帰ニューラル ネットワーク

構文

narnet(feedbackDelays,hiddenSizes,trainFcn)

説明

NAR (非線形自己回帰) ニューラル ネットワークには、一連の過去の値から時系列を予測するように学習させることができます。

narnet(feedbackDelays,hiddenSizes,trainFcn) は、次の引数を取ります。

feedbackDelays

増加する 0 または正の遅延から成る行ベクトル (既定値 = 1:2)

hiddenSizes

1 つ以上の隠れ層のサイズの行ベクトル (既定値 = 10)

trainFcn

学習関数 (既定値 = 'trainlm')

これは、NAR ニューラル ネットワークを返します。

すべて折りたたむ

簡単な時系列の予測データを読み込み、NAR ネットワークを作成します。

T = simplenar_dataset;
net = narnet(1:2,10);

preparets を使用して時系列データを準備し、ネットワークに学習させます。

[Xs,Xi,Ai,Ts] = preparets(net,{},{},T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)

ネットワーク性能を計算します。

[Y,Xf,Af] = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)
perf =

   1.0100e-09

次の 20 タイム ステップの出力を予測するには、まず閉ループ形式でネットワークのシミュレーションを行います。

[netc,Xic,Aic] = closeloop(net,Xf,Af);
view(netc)

ネットワークの入力は 1 つのみです。閉ループ モードでは、この入力が出力に結合されます。

20 タイム ステップ先のネットワークのシミュレーションを行うには、長さ 20 の空の cell 配列を入力します。ネットワークには、Xic および Aic に指定されている初期条件のみが必要です。

y2 = netc(cell(0,20),Xic,Aic)
y2 =

  1x20 cell array

  Columns 1 through 5

    {[0.8346]}    {[0.3329]}    {[0.9084]}    {[1.0000]}    {[0.3190]}

  Columns 6 through 10

    {[0.7329]}    {[0.9801]}    {[0.6409]}    {[0.5146]}    {[0.9746]}

  Columns 11 through 15

    {[0.9077]}    {[0.2807]}    {[0.8651]}    {[0.9897]}    {[0.4093]}

  Columns 16 through 20

    {[0.6838]}    {[0.9976]}    {[0.7007]}    {[0.4311]}    {[0.9660]}

R2010b で導入