主要内容

elmannet

埃尔曼神经网络

语法

elmannet(layerdelays,hiddenSizes,trainFcn)

说明

埃尔曼网络是前馈网络 (feedforwardnet),其中增加了具有抽头延迟的层循环连接。

随着完全动态导数计算(fpderivbttderiv)的出现,除了回顾历史和研究目的,不再推荐使用埃尔曼网络。要获得更精确的学习结果,请尝试时滞 (timedelaynet)、层循环 (layrecnet)、NARX (narxnet) 和 NAR (narnet) 神经网络。

具有一个或多个隐藏层的埃尔曼网络可以很好地学习任何动态输入-输出关系,前提是隐藏层中有足够多的神经元。不过,埃尔曼网络使用简化的导数计算(使用 staticderiv,它会忽略延迟的连接),其代价是学习结果的可靠性降低。

elmannet(layerdelays,hiddenSizes,trainFcn) 接受以下参量,

layerdelays

由递增的 0 或正时滞组成的行向量(默认值 = 1:2)

hiddenSizes

由一个或多个隐藏层大小组成的行向量(默认值 = 10)

trainFcn

训练函数(默认值 = 'trainlm'

并返回一个埃尔曼神经网络。

示例

全部折叠

此示例说明如何训练埃尔曼神经网络来求解简单的时间序列问题。

[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 (14-Jul-2025 06:19:33) contains an object of type uigridlayout.

view(net)

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

版本历史记录

在 R2010b 中推出