精华内容
下载资源
问答
  • 使用ga算法改进elman神经网络。优化elman参数初始值
  • Elman神经网络具有良好的动态特性和强大的全局稳定性,被广泛用于处理非线性,动态和复杂的数据。 但是,作为对反向传播(BP)神经网络的优化,Elman模型不可避免地会继承其某些固有缺陷,从而影响识别精度和操作...
  • Elman神经网络例子

    2018-11-21 13:41:20
    Elman神经网络例子
  • elman神经网络,获取局部最优解,感觉有需要可以下载查看。
  • Elman神经网络模型与学习算法 ;概述;2.8.1 Elman神经网络结构;2.8.2 Elman神经网络学习算法 ;2.8.2 Elman神经网络学习算法;2.8.2 Elman神经网络学习算法;Elman神经网络学习算法流程图;2.8.3 Elman神经网络学习算法...
  • 本代码主要是用MATLAB工具对Elman神经网络进行仿真,实现电力负荷模型的预测
  • 完整的Elman神经网络预测模型,包含相关的数据 可在matlab2016a中运行。
  • 针对基于传统BP神经网络的齿轮箱故障诊断方法存在的收敛速度慢、精度不高等问题,提出了一种基于Elman神经网络的齿轮箱故障诊断模型。该模型以齿轮箱特征向量为输入、故障类型为输出,通过改进遗传算法对Elman神经网络...
  • 介绍了一种基于Elman神经网络的通风机故障诊断的诊断原理,学习算法以及技术路线。通过对现场信号特征数据的采集以及归一化处理,对Elman神经网络选取最优的结构与参数,实现了煤矿主通风机故障类型的智能分类与诊断。...
  • 基于Elman神经网络的房价预测。
  • Elman神经网络的matlab实现,使用matlab编写elman神经网络,可对数据进行预测。
  • 空气质量数值模式的输入文件质量会影响到空气质量的预测精度, 为了提高空气质量预测的准确率, 本文提出了一种基于Elman神经网络的优化方法, 该方法在CMAQ和CAMx两种空气质量数值模式基础上利用Elman神经网络优化...
  • 提出了一种利用改进的Elman神经网络修正ARIMA模型预测结果的短期风速组合预测模型。  先利用ARIMA模型对风速进行预测,其线性规律信息包含在时间序列预测结果中,非线性规律包含在预测误差中。再将ARIMA模型的预测...
  • Elman神经网络

    2015-04-23 15:33:25
    Elman是一种反馈型神经网络,在前馈式网络的隐含层中增加了承接层
  • 提出了一种利用改进的Elman神经网络修正ARIMA模型预测结果的短期风速组合预测模型。  先利用ARIMA模型对风速进行预测,其线性规律信息包含在时间序列预测结果中,非线性规律包含在预测误差中。再将ARIMA模型的预测...
  • 程序直接能够运行,点击直接就能运行,当然对于matlab的版本可能有些要求,我的是2012版本没问题。对于学习极限学习机神经网络以及搞中长期预报的同学可谓是在珍贵不过
  • ELMAN神经网络

    千次阅读 2020-07-08 19:45:22
    ELMAN神经网络 By:Yang Liu 1.什么是ELMAN神经网络 Elman神经网络是一种典型的局部回归网络( global feed forward local recurrent)。Elman网络可以看作是一个具有局部记忆单元和局部反馈连接的递归神经网络。Elman...

    ELMAN神经网络

    By:Yang Liu
    1.什么是ELMAN神经网络
    Elman神经网络是一种典型的局部回归网络( global feed forward local recurrent)。Elman网络可以看作是一个具有局部记忆单元和局部反馈连接的递归神经网络。Elman网络具有与多层前向网络相似的多层结构。是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了网络的全局稳定性,它比前馈型神经网络具有更强的计算能力,还可以用来解决快速寻优问题。属于带反馈的BP网络,有短期记忆功能。
    2.ELMAN的结构
    在这里插入图片描述
    主要结构是前馈连接, 包括输入层、 隐含层、 输出层, 其连接权可以进行学习修正;反馈连接由一组“结构 ” 单元构成,用来记忆前一时刻的输出值, 其连接权值是固定的。在这种网络中, 除了普通的隐含层外, 还有一个特别的隐含层,称为关联层 (或联系单元层 ) ;该层从隐含层接收反馈信号, 每一个隐含层节点都有一个与之对应的关联层节点连接。关联层的作用是通过联接记忆将上一个时刻的隐层状态连同当前时刻的网络输入一起作为隐层的输入, 相当于状态反馈。隐层的传递函数仍为某种非线性函数, 一般为 Sigmoid函数, 输出层为线性函数, 关联层也为线性函数。
    3.ELMAN算法流程图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4.ELMAN小结
    ELMAN是动态网络,适应时变特性,有短期记忆功能,能够内部反馈、存储和利用过去时刻输出信息,在计算能力和网络稳定性上比BP网络更好,但与BP神经网络一样,算法都是采用基于梯度下降法,会出现训练速度慢和容易陷入局部极小点的缺点,对神经网络的训练较难达到全局最优。
    参考文献:
    (1)https://wenku.baidu.com/view/5d67944b52d380eb62946d62.html
    (2)https://blog.csdn.net/fengzhimohan/article/details/80847979
    (3)https://blog.csdn.net/vendetta_gg/article/details/106444482

    展开全文
  • 如果仅使用传统的Elman神经网络来处理小样本,则针对具有高维数和少量特征的小样本将引起严重的问题。 这些问题包括学习能力差,冗余结构和培训不完整; 这些缺陷将导致较低的工作效率和较差的识别精度。 本文结合偏...
  • Elman神经网络原理

    千次阅读 热门讨论 2021-07-30 11:12:16
    Elman神经网络 近期开题,阅读到了一篇文章关于故障诊断的,其中用到了Elman神经网络,具体是结合EMD、PCA-SOM的Elman的性能评估/预测故障诊断,对Elman神经网络有点陌生,网上资源也讲的特别杂,来做个汇总...

    Elman神经网络

    近期开题,阅读到了一篇文章关于故障诊断的,其中用到了Elman神经网络,具体是结合EMD、PCA-SOM的Elman的性能评估/预测故障诊断,对Elman神经网络有点陌生,网上资源也讲的特别杂,来做个汇总Introduction吧!

    介绍

    Elman神经网络 是 J. L. Elman于1990年首先针对语音处理问题而提出来的,是一种典型的局部回归网络( global feed forward local recurrent)。Elman网络可以看作是一个具有局部记忆单元局部反馈连接递归神经网络

    Elman网络具有与多层前向网络相似的多层结构。

    它的主要结构是前馈连接, 包括输入层、 隐含层、 输出层, 其连接权可以进行学习修正;反馈连接由一组“结构 ” 单元构成,用来记忆前一时刻的输出值, 其连接权值是固定的。在这种网络中, 除了普通的隐含层外, 还有一个特别的隐含层,称为关联层 (或联系单元层 ) ;该层从隐含层接收反馈信号, 每一个隐含层节点都有一个与之对应的关联层节点连接。关联层的作用是通过联接记忆将上一个时刻的隐层状态连同当前时刻的网络输入一起作为隐层的输入, 相当于状态反馈。隐层的传递函数仍为某种非线性函数, 一般为 Sigmoid函数, 输出层为线性函数, 关联层也为线性函数。

    ----词条来自于百度百科

    Elman组成

    Elman神经网络是一种典型的动态神经网络,通常有四层:输入层、中间层(隐含层)、 承接层和输出层。

    • 输入层、隐含层和输出层的连接类似于前馈网络

    • 输入层的单元只传输信号,输出层的单元具有线性加权的功能。

    • 隐层细胞的传递函数可以是线性函数,也可以是非线性函数。

    • 承接层又称为上下文层或状态层,用于记忆隐层的前一个时间步长输出,因此可以看作是一步时间延迟算子。

    • Elman网络结构

    在这里插入图片描述

    带反馈的的BP网络
    行程迟滞具有短期记忆功能

    Figure来自于网络)

    Elman神经网络的特点是通过受体层的延迟和存储,隐层的输出与隐层的输入本身相连。这种自连接对其历史状态的数据非常敏感,内部反馈网络也增加了动态信息处理的能力,从而达到动态建模的目的。

    选择用历史训练的Elman神经网络同步预测,数据流程图如下图所示。

    在这里插入图片描述

    • Elman网络学习算法

    在这里插入图片描述

    用BP算法进行权值修正,指标函数为误差平方和
    在这里插入图片描述


    Matlab实例代码

    本实例是引用的《Matlab神经网络30个案例分析》中的一个,觉得很不错,就更新一下下!~

    内容较为古老,直接附上了,请多担待。

    电力负荷预测概述

    在这里插入图片描述

    模型建立

    在这里插入图片描述
    在这里插入图片描述

    电力系统负荷数据

    在这里插入图片描述
    具体数据及其源代码在我的GitHub上可下载:
    https://github.com/YurBro/Project-Code/tree/main/ElmanNN

    Matlab Code:

    %%  基于Elman神经网络的电力负荷预测模型研究
    % 
    % 
    % <html>
    % <table border="0" width="600px" id="table1">	<tr>		<td><b><font size="2">该案例作者申明:</font></b></td>	</tr>	<tr>		<td><span class="comment"><font size="2">1:本人长期驻扎在此<a target="_blank" href="http://www.ilovematlab.cn/forum-158-1.html"><font color="#0000FF">板块</font></a>里,对<a target="_blank" href="http://www.ilovematlab.cn/thread-48362-1-1.html"><font color="#0000FF">该案例</font></a>提问,做到有问必答。</font></span></td></tr><tr>	<td><span class="comment"><font size="2">2:此案例有配套的教学视频,配套的完整可运行Matlab程序。</font></span></td>	</tr>	<tr>		<td><span class="comment"><font size="2">		3:以下内容为该案例的部分内容(约占该案例完整内容的1/10)。</font></span></td>	</tr>		<tr>		<td><span class="comment"><font size="2">		4:此案例为原创案例,转载请注明出处(<a target="_blank" href="http://www.ilovematlab.cn/">Matlab中文论坛</a><a target="_blank" href="http://www.ilovematlab.cn/forum-158-1.html">《Matlab神经网络30个案例分析》</a>)。</font></span></td>	</tr>		<tr>		<td><span class="comment"><font size="2">		5:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。</font></span></td>	</tr>		<tr>		<td><span class="comment"><font size="2">		6:您看到的以下内容为初稿,书籍的实际内容可能有少许出入,以书籍实际发行内容为准。</font></span></td>	</tr><tr>		<td><span class="comment"><font size="2">		7:此书其他常见问题、预定方式等,<a target="_blank" href="http://www.ilovematlab.cn/thread-47939-1-1.html">请点击这里</a></font></span></td>	</tr></table>
    % </html>
    % 
    
    
    %% 清空环境变量
    
    clc;
    clear all
    close all
    nntwarn off;
    
    %% 数据载入
    
    load data;
    a=data;
    
    %% 选取训练数据和测试数据
    
    for i=1:6
        p(i,:)=[a(i,:),a(i+1,:),a(i+2,:)];
    end
    % 训练数据输入
    p_train=p(1:5,:);
    % 训练数据输出
    t_train=a(4:8,:);
    % 测试数据输入
    p_test=p(6,:);
    % 测试数据输出
    t_test=a(9,:);
    
    % 为适应网络结构 做转置
    
    p_train=p_train';
    t_train=t_train';
    p_test=p_test';
    
    
    %% 网络的建立和训练
    % 利用循环,设置不同的隐藏层神经元个数
    nn=[7 11 14 18];
    for i=1:4
        threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
        % 建立Elman神经网络 隐藏层为nn(i)个神经元
        net=newelm(threshold,[nn(i),3],{'tansig','purelin'});
        % 设置网络训练参数
        net.trainparam.epochs=1000;
        net.trainparam.show=20;
        % 初始化网络
        net=init(net);
        % Elman网络训练
        net=train(net,p_train,t_train);
        % 预测数据
        y=sim(net,p_test);
        % 计算误差
        error(i,:)=y'-t_test;
    end
    
    %% 通过作图 观察不同隐藏层神经元个数时,网络的预测效果
    
    plot(1:1:3,error(1,:),'-ro','linewidth',2);
    hold on;
    plot(1:1:3,error(2,:),'b:x','linewidth',2);
    hold on;
    plot(1:1:3,error(3,:),'k-.s','linewidth',2);
    hold on;
    plot(1:1:3,error(4,:),'c--d','linewidth',2);
    title('Elman预测误差图')
    set(gca,'Xtick',[1:3])
    legend('7','11','14','18','location','best')
    xlabel('时间点')
    ylabel('误差')
    hold off;
    
    web browser http://www.ilovematlab.cn/viewthread.php?tid=63640
    %%
    %
    % <html>
    % <table align="center" >	<tr>		<td align="center"><font size="2">版权所有:</font><a
    % href="http://www.ilovematlab.cn/">Matlab中文论坛</a>&nbsp;&nbsp; <script
    % src="http://s3.cnzz.com/stat.php?id=971931&web_id=971931&show=pic" language="JavaScript" ></script>&nbsp;</td>	</tr></table>
    % </html>
    %
    

    目前知道的关于Elman神经网络的内容就这么多,还需要再多读读Paper。
    ~
    有新的相关内容知识,⚡必更新⚡!
    ~
    待研究透彻之后,定给出⚡Python代码⚡!


    -更新日志-
    (2021.8.19只更新了个MATLAB的程序,着实丢人!!!)
    ~
    ❤坚持读Paper,坚持做笔记写Blog!❤

    ღ( ´・ᴗ・` )


    我相信所有被我遗忘的美好,一定还在这世上的某个角落,也相信总有一天,走过很长的生命,遇见美好,春暖花开

    展开全文
  • elman神经网络

    2015-06-23 09:04:09
    神经网络
  • 针对语音情感的动态特性, 利用动态递归Elman神经网络实现语音情感识别系统。通过连接记忆上时刻状态与当前网络一并输入, 实现Elman网络模型的状态反馈。基于此设计了语音情感识别系统, 该系统能在后台修改网络类型, ...
  • 为了解决盾构在复合地质掘进时滚刀磨损检测的难题,提出一种采用 Elman神经网络预测盾构滚刀磨损状况的方法。利用滚刀换刀后正常磨损阶段的盾构掘进参数数据,建立 Elman神经网络预测模型,根据依此模型得到的预测掘进...
  • 基于改进Elman神经网络的故障诊断模型研究.pdf
  • Elman神经网络预测

    2018-08-26 15:00:00
    Elman神经网络预测,可以直接改数据进行预测,方便实用,自己可以调细节增大预测精度
  • Elman神经网络介绍以及Matlab实现

    万次阅读 多人点赞 2018-06-28 19:27:15
    Elman神经网络介绍 1.特点 Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了...

    Elman神经网络介绍

    1.特点
    Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能力,增强了网络的全局稳定性,它比前馈型神经网络具有更强的计算能力,还可以用来解决快速寻优问题。
    2.结构
    Elman神经网络是应用较为广泛的一种典型的反馈型神经网络模型。一般分为四层:输入层、隐层、承接层和输出层。其输入层、隐层和输出层的连接类似于前馈网络。输入层的单元仅起到信号传输作用,输出层单元起到加权作用。隐层单元有线性和非线性两类激励函数,通常激励函数取Signmoid非线性函数。而承接层则用来记忆隐层单元前一时刻的输出值,可以认为是一个有一步迟延的延时算子。隐层的输出通过承接层的延迟与存储,自联到隐层的输入,这种自联方式使其对历史数据具有敏感性,内部反馈网络的加入增加了网络本身处理动态信息的能力,从而达到动态建模的目的。其结构图如下图1所示,
    Elman神经网络结构图
    其网络的数学表达式为:
    这里写图片描述


    其中,y为m维输出节点向量;x为n维中间层节点单元向量;u为r维输入向量;为n维反馈状态向量;为中间层到输出层连接权值;为输入层到中间层连接权值;为承接层到中间层连接权值;g()为输出神经元的传递函数,是中间层输出的线性组合;f()为中间层神经元的传递函数,常采用S函数。
    3.与BP网络的区别
    它是动态反馈型网络,它能够内部反馈、存储和利用过去时刻输出信息,既可以实现静态系统的建模,还能实现动态系统的映射并直接反应系统的动态特性,在计算能力及网络稳定性方面都比BP神经网络更胜一筹。
    4.缺点
    与BP神经网络一样,算法都是采用基于梯度下降法,会出现训练速度慢和容易陷入局部极小点的缺点,对神经网络的训练较难达到全局最优。

    基于Matlab实现Elman神经网络

    在MATLAB中,Elman神经网络可以通过调用newelm()实现。
    **例子:**利用Elman神经网络实现MATLAB的数据预测。

    %输入数据  
    P=[3.2 3.2 3 3.2 3.2 3.4 3.2 3 3.2 3.2;
    9.6 10.3 9 10.3 10.1 10 9.6 9 9.6 9.2;
    3.45 3.75 3.5 3.65 3.5 3.4 3.55 3.5 3.55 3.5;
    2.15 2.2 2.2 2.2 2 2.15 2.14 2.1 2.1 2.1;
    140 120 140 150 80 130 130 100 130 140;
    2.8 3.4 3.5 2.8 1.5 3.2 3.5 1.8 3.5 2.5;
    11 10.9 11.4 10.8 11.3 11.5 11.8 11.3 11.8 11;
    50 70 50 80 50 60 65 40 65 50 ];  %训练数据
    T=[2.24 2.33 2.24 2.32 2.2 2.27 2.2 2.26 2.2 2.24];%训练输出实际值
    TestInput=[3.2 3.9 3.1 3.2 3.0;
    9.5 9 9.5 9.7 9.3;
    3.4 3.1 3.6 3.45 3.3;
    2.15 2 2.1 2.15 2.05;
    115 80 90 130 100;
    2.8 2.2 2.7 2.6 2.8;
    11.9 13 11.1 10.85 11.2;
    50 50 70 70 50];%测试数据
    TestOutput=[2.24 2.2 2.2 2.35 2.2]; %测试输出实际值
    
    [pn,minp,maxp,tn,mint,maxt]=premnmx(P,T);
    p2= tramnmx(TestInput,minp,maxp);
    %创建Elman神经网络  
    net_1 = newelm(minmax(pn),[8,1],{'tansig','purelin'},'traingdm');  
      
    %设置训练参数  
    net_1.trainParam.show = 50;  
    net_1.trainParam.lr = 0.01;  
    net_1.trainParam.mc = 0.9;  
    net_1.trainParam.epochs =10000;  
    net_1.trainParam.goal = 1e-3;  
    net=init(net_1);%初始化网络  
    %训练网络  
    net = train(net,pn,tn);  
    %使用训练好的网络,自定义输入  
    PN = sim(net,p2); 
    TestResult= postmnmx(PN,mint,maxt);%仿真值反归一化
    %理想输出与训练输出的结果进行比较  
    E =TestOutput - TestResult 
    %计算误差  
    MSE=mse(E);%计算均方误差  
    figure(1)
    plot(TestOutput,'bo-');
    hold on;
    plot(TestResult,'r*--');
    legend('真实值','预测值');
    save('Elman.mat','net');
    

    运行结果如下:
    这里写图片描述
    这里写图片描述
    误差结果为:
    E =[0.48% 0.40% 0.12% 9.47% 2.28%]
    平均误差为:2.55%

    转载请标明出处,谢谢!。

    如果感觉本文对您有帮助,请留下您的赞,您的支持是我坚持写作最大的动力,谢谢!

    展开全文
  • 基于Elman神经网络的峰值检波的MATLAB实现
  • 1.不要直接运行 2.将其拷贝,然后在matlab中粘贴运行即可 3.数据加载方式需要日后提高,数据量等 有很高的参考价值
  • ELMAN神经网络的数据预测——电力负荷预测模型研究(matlab)
  • matlab内含BP、RBF、Elman神经网络等模型,用于时间序列预测,比较基础,应用简单,比较容易上手。
  • 通过Elman神经网络对不同输入特征参数进行仿真测试,挑选功效最优的一组特征集作为Elman神经网络的输入,使用思维进化算法(Mind Evolutionary Algorithm, MEA)优化Elman神经网络初始权值和阈值,建立了基于EWM-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,996
精华内容 798
关键字:

elman神经网络