elman神经网络算力更强
1. elman神经网络和rnn有什么关系
深度学习是多层的神经网络。RNN和elman神经网络是深度学习的主要内容之一。深度学习绝不仅仅是多层的神经网络。网络必须拥有一定的”记忆能力”。为了赋予网络这样的记忆力,一种特殊结构的神经网络——递归神经网络(Recurrent Neural Network)便应运而生了。Elman神经网络是 J. L. Elman于1990年首先针对语音处理问题而提出来的,是一种典型的局部回归网络( global feed forward local recurrent)。
2. 怎样在matlab中建立elman神经网络
t=1:20;
p1=sin(t);
p2=sin(t)*2;
plot(t,p1,'r');
hold on
plot(t,p2,'b--');
hold on
t1=ones(1,20);t2=ones(1,20)*2;%产生两组向量,分别为这两波形幅值,作为输出向量
p=[p1 p2 p1 p2];
t=[t1 t2 t1 t2];
Pseq=con2seq(p);%将矩阵形式的训练样本转换为序列的形式
Tseq=con2seq(t);
R=1;%输入元素的数目为1
S2=1;%输出曾的神经元个数为1
S1=10;%中间层有10个神经元
net=newelm([-2,2],[S1,S2],{'tansig','purelin'});
net.trainParam.epochs=100;%设定次数
net=train(net,Pseq,Tseq);
y=sim(net,Pseq);
%预测
P=randn(12,2);T=randn(12,2);
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
a=[11 17 23];
for i=1:3
net=newelm(threshold,[a(i),4],{'tansig','purelin'});
net.trainParam.epochs=1000;
net=init(net);
net=train(net,P,T);
y=sim(net,p_test);
error(i,:)=y'-t;
end
hold off;
plot(1:4,error(1,:));
hold on;
plot(1:4,error(2,:),'-.');
hold on;
plot(1:4,error(3,:),'--');
hold off;
3. 请问有谁对elman神经网络做过深入研究吗其中承接层的权值是如何安排和定位的呀
1、如果使用MATLAB的话不要自己设定,newff之后会自动赋值
也可以手动:net.IW=
2、一般来说输入归一化,那么w和b取0-1的随机数就行
4. Elman神经网络学习问题
你是参考别人的代码修改的吧?报错信息的意思是:input_train、output_train这两个变量没有定义。你应该在之前对这两个变量进行赋值,即将训练数据的输入和输出做成矩阵形式,以一列为一个样本,再赋值给这两个变量。
训练Elman神经网络可以用train()或者adapt()。两个函数不同之处在于,train()函数应用反向传播训练函数进行权值修正,通常选用traingdx训练函数;adapt()函数应用学习规则函数进行权值修正,通常选用learngdm函数。
Elman神经网络的可靠性要比一些其他类型网络差一些,这是因为在训练和调整时,应用误差梯度的估计值。恰恰因为这一点,构建网络时,为了达到这一精度,Elman神经网络隐含层神经元的数目比其他网络结构相对较多。
5. elman神经网络能够解决的问题,还有其他什么网络能够更好的解决
还可以使用GRNN神经网络,效果非常好,并且训练速度非常快。广义回归神经网络GRNN:径向基神经元和线性神经元可以建立广义回归神经网络,它是径RBF网络的一种变化形式,经常用于函数逼近。在某些方面比RBF网络更具优势。
在MATLAB中,直接使用net=newgrnn(P,T,spread)就能以非常快的速度设计出一个GRNN网络,其进行训练及预测时,效果非常好,不会比elman神经网络差。扩展常数SPREAD不能太小,才能使部分径向基神经元能够对输入向量所覆盖的区间产生相应,但也不能太大,否则计算困难。可以通过试凑来获得最佳扩展常数。
6. Elman神经网络和回声状态网络哪个好
BP等前馈型神经网络是将动态时间建模问题变为静态空间建模问题,同时还需对模型结构进行定介,特别是随系统阶次的增加或阶次未知,迅速扩大的网络结构使网络学习的收敛速度减慢,并造成网络输入节点过多、训练困难及对外部噪声敏感等弊病。
Elman回归神经网络是在BP网络基本结构的基础上,通过存储内部状态使其具备映射的动态特征功能,从而使系统具有适应时变特性的能力。
7. 采用什么手段使神经网络预测更加准确
优化神经网络结构。如BP神经网络改变隐层神经元数量、训练算法等;
使用其他神经网络。如Elman神经网络考虑了前一时刻的输出,比较适合用于预测,预测效果往往更好。RBF神经网络的训练速度很快,训练效果也很好。
改进的神经网络算法。例如BP神经网络增加动量项、自适应学习率等措施,防止陷入局部极小影响预测效果。
组合神经网络。取长补短,将全局搜索能力强的算法与局部逼近快的算法组合起来,如遗传算法优化初始权值,再训练。这种方法比较灵活,可以和许多算法融合。
全面考虑影响因素。未来的预测值受许多因素影响,所以应该在基于历史数据的基础上,充分考虑各种因素,考虑得越周全,预知信息越多,预测效果一般更好。
8. 求大神帮忙,用BP或elman神经网络实现风速预测程序怎么写
x=[6.2 ,5.8 ,5.5 , 5.6 ,5.4 ,5.1 ,5.2 , 5.2 ,5.1 ,4.9 ,4.8 ,5 ,5.2 ,5.3 ...
,5.2 ,5.1 ,5.1 ,5 ,4.8 , 4.9 ,5.3 ,5.4 ,5.3 ,5.3 ,5.5 ,5.2 ,4.6 ,4.9 ...
,4.9 ,5.4 ,5.4 ,5.5 ,5.4 ,5.1 ,5 ,5.1 ,5.2 ,4.9 ,5.2 ,5.1 ,5.1 ,4.8 ,...
3.8 ,3.4 ,3.8 ,3.9 ,3.8 ,3.7 ,3.6 ,2.9 ,3.1 ,3.7 ,3.9 ,3.7 ,3.7 ,3.8 ,...
3.6 ,3.7 ,2.7 ,2.8 ,1.9 ,2.7 ,2.9 ,2.8 ,3.5 ,3.6 ,3.7 ,3.3 ,3.6 ,3.5 ,...
4.3 ,4.4 ,3.9 ,4.5 ,4.2 ,4.9 ,4.5 ,4.6 4.8, 5.7, 5.6, 5.6, 5.6, 5.6, ...
5.6,5.6, 5.6, 5.6, 5.6, 5.6,5.6 ,5.6,5.6 ,5.6 ,5.6 ,5.6 ,5.6 ,5.6 ,5.6 ...
,5.6 ,5.6 ,5.6 ,5.6 ,5.5 ,5.5 ,5.2 ,3.6 ,5.6 ,4.5 ,6.1,6.2 ,5.6 ,6.4 ,...
5.5 ,4.8 ,5.1 ,6.1 ,5.5 ,4.6 ,4.3 ,6.7 ,5.9 ,4.8 ,5.8 ,5.7 ,5.7 ,5.4 ,...
5.9 ,5.7 ,6.2 ,5.2 ,4.6 ,4.1 ,4.3 ,4.3 ,4.1 ,3.9 ,3.8 ,4.3 ,4.6,4.2,...
4.1 ,4.5 ,4.3 ,3.7 ,3.1 ,2.7 ,2.9 ,2.4 ,3 ,2.8 ,2.8];
% 该脚本用来做NAR神经网络预测
% 作者:Macer程
lag=3; % 自回归阶数
iinput=x; % x为原始序列(行向量)
n=length(iinput);
%准备输入和输出数据
inputs=zeros(lag,n-lag);
for i=1:n-lag
inputs(:,i)=iinput(i:i+lag-1)';
end
targets=x(lag+1:end);
%创建网络
hiddenLayerSize = 10; %隐藏层神经元个数
net = fitnet(hiddenLayerSize);
% 避免过拟合,划分训练,测试和验证数据的比例
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
%训练网络
[net,tr] = train(net,inputs,targets);
%% 根据图表判断拟合好坏
yn=net(inputs);
errors=targets-yn;
figure, ploterrcorr(errors) %绘制误差的自相关情况(20lags)
figure, parcorr(errors) %绘制偏相关情况
%[h,pValue,stat,cValue]= lbqtest(errors) %Ljung-Box Q检验(20lags)
figure,plotresponse(con2seq(targets),con2seq(yn)) %看预测的趋势与原趋势
%figure, ploterrhist(errors) %误差直方图
%figure, plotperform(tr) %误差下降线
%% 下面预测往后预测几个时间段
fn=5; %比如预测步数为fn。
f_in=iinput(n-lag+1:end)';
f_out=zeros(1,fn); %预测输出
% 多步预测时,用下面的循环将网络输出重新输入
for i=1:fn
f_out(i)=net(f_in);
f_in=[f_in(2:end);f_out(i)];
end
% 画出预测图
figure,plot(1:n,iinput,'b',n:n+fn,[iinput(end),f_out],'r')
效果不是很好,但未来5个点风速应该是增大的。
9. PNN神经网络,BP神经网络,Elman神经网络,ANN神经网络,几种神经网络中哪个容错能力最强
多层前向BP网络是目前应用最多的一种神经网络形式, 它具备神经网络的普遍优点!
10. 用BP或elman神经网络实现风速预测程序怎么写
神经网络可以指向两种,一个是生物神经网络,一个是人工神经网络。
生物神经网络:一般指生物的大脑神经元,细胞,触点等组成的网络,用于产生生物的意识,帮助生物进行思考和行动。
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
人工神经网络:是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为“神经网络”或类神经网络。