Contenu principal

elmannet

Syntaxe

elmannet(layerdelays,hiddenSizes,trainFcn)

Description

Les réseaux Elman sont des réseaux feed-forward (feedforwardnet) auxquels viennent s’ajouter des connexions récurrentes au niveau des couches, avec des retards de type tap delay.

Depuis l'apparition des calculs complets de dérivées dynamiques (fpderiv et bttderiv), le réseau Elman n'est plus recommandé si ce n’est à des fins d’historique et de recherche. Pour un apprentissage plus précis, testez les réseaux de neurones à retard temporel (timedelaynet), à connexions récurrentes de couches (layrecnet), NARX (narxnet) et NAR (narnet).

Les réseaux Elman avec une ou plusieurs couches cachées peuvent peut apprendre arbitrairement toute relation entrée-sortie dynamique à condition que les couches cachées comportent suffisamment de neurones. Pour autant, les réseaux Elman utilisent des calculs de dérivées simplifiés (avec staticderiv ignorant ainsi les connexions retardées), ce qui nuit à la fiabilité de l’apprentissage.

elmannet(layerdelays,hiddenSizes,trainFcn) prend ces arguments,

layerdelays

Vecteur ligne de retards nuls ou positifs croissants (par défaut = 1:2)

hiddenSizes

Vecteur ligne d'une ou plusieurs tailles de couches cachées (par défaut = 10)

trainFcn

Fonction d’apprentissage (par défaut = 'trainlm')

et renvoie un réseau de neurones Elman.

Exemples

réduire tout

Cet exemple montre comment entraîner un réseau de neurones Elman pour résoudre un problème simple de séries temporelles.

[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 (09-Aug-2025 13:41:16) contains an object of type uigridlayout.

view(net)

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

Historique des versions

Introduit dans R2010b