Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

elmannet

Elman ニューラル ネットワーク

構文

elmannet(layerdelays,hiddenSizes,trainFcn)

説明

Elman ネットワークは、タップ遅延付きの層の再帰的な結合が追加されたフィードフォワード ネットワーク (feedforwardnet) です。

完全に動的な導関数計算 (fpderiv および bttderiv) を利用できるため、歴史的な理由や研究を目的とする場合を除き、Elman ネットワークの使用は推奨されなくなっています。より正確な学習を行うには、時間遅れニューラル ネットワーク (timedelaynet)、層再帰型ニューラル ネットワーク (layrecnet)、NARX ニューラル ネットワーク (narxnet)、および NAR ニューラル ネットワーク (narnet) を試してください。

1 つ以上の隠れ層がある Elman ネットワークは、隠れ層にニューロンが十分にある場合、任意の動的な入出力関係をうまく学習できます。ただし、Elman ネットワークは (遅延結合を無視する staticderiv を使用する) 簡略化された導関数計算を使用するため、学習の信頼性が低下します。

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

layerdelays

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

hiddenSizes

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

trainFcn

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

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

すべて折りたたむ

この例では、簡単な時系列の問題を解くために Elman ニューラル ネットワークに学習させる方法を示します。

[X,T] = simpleseries_dataset;
net = elmannet(1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,X,T);
net = train(net,Xs,Ts,Xi,Ai);

Figure Neural Network Training (27-Jul-2023 15:31:40) contains an object of type uigridlayout.

view(net)

Y = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)
perf = 9.0122e-04

バージョン履歴

R2010b で導入