m分别使用ESN网络,ESN+RBF神经网络以及ESN+Volterra网络进行数据预测对比仿真

简介: m分别使用ESN网络,ESN+RBF神经网络以及ESN+Volterra网络进行数据预测对比仿真

1.算法描述

   ESN是Jaeger于2001年提出一种新型递归神经网络,ESN一经提出便成为学术界的热点,并被大量地应用到各种不同的领域中,包括动态模式分类、机器人控制、对象跟踪核运动目标检测、事件监测等,尤其是在时间序列预测问题上,取得了较为突出的贡献。Jaeger本人在提出这种神经网络的第二年便在国际知名期刊上发表了关于将ESN网络用于时间序列预测的文章,为后来其发展做出了巨大的贡献。另外,国内大连理工大学的韩敏等人在ESN的使用方面也做出了突出的贡献。

ESN具有以下特点:

大且稀疏生物连接,RNN被当做一个动态水库
动态水库可以由输入或/和输出的反馈激活
水库的连接权值不会被训练改变?
只有水库的输出单元的权值随训练改变,因此训练是一个线性回归任务
image.png

假设有ESN是一个可调谐的sin波生成器:

黑色箭头是指固定的输入和反馈连接
红色箭头指可训练的输出连接
灰色表示循环内连接的动态水库

    Volterra滤波器的基本结构如下所示:

image.png
image.png

   使用RBF网络,对ESN得到的W权值进行迭代跟新,我这里,使用的方法为是将RBF网络构架整合到ESN中,使得ESN的权值输出为非线性模型,从而提升性能。其基本原理如下所示:

    对于RBF神经网络的学习算法,关键问题是隐层神经元中心参数的合理确定。在已有的常用学习算法中,中心参数要么是从给定的训练集样本中按照某种方法直接选取,要么采用聚类的方法进行确定。实际应用表明,这些学习算法均有不足之处,使之应用范围受到限制。如正交优选法,其缺点是隐层神经元中心的取值是训练集样本中的数据,这在多数情况下难以反映系统的真正映射关系,且在中心点的优选过程中会出现病态现象,导致训练失败。再如Moody和Darken算法,其缺点是无法合理地确定隐层神经元的数目,所得到的中心值也未必是合理的。

   最基本的RBF神经网络的构成包括三层,分别为输入层、隐层(中间层)和输出层。其中输入层由一些源点(感知单元)组成,它们将网络与外部环境连接起来,仅起到数据信息的传递作用,对输入信息不进行任何变换;隐层神经元的核函数(或称作用函数)取为径向基函数,对输入信息到隐层空间之间进行非线性变换,通常具有较高的维数;输出层是线性的,为输入层的激活模式提供响应。

image.png

RBF神经网络的参数在此主要是指网络的中心、宽度、和调节权重。

image.png
image.png

2.仿真效果预览
matlab2022a仿真结果如下:

image.png
image.png

3.MATLAB核心程序

sequenceLength = 2100;
load data.mat
%每个变量需提取的数目
ext            = 2; 
inputSequence  = zeros(2098,2*ext);
outputSequence = zeros(2098,1) ;
for i=ext+1:2100
    outputSequence(i-ext,1)=lorenz_series(i,1);
    for j=1:ext
        inputSequence(i-ext,j)=lorenz_series(i-j,1);
    end
    Ystart=ext+1;
    Yend=2*ext;
    for k=Ystart:Yend
        neednum=k-ext;
        inputSequence(i-ext,k)=lorenz_series(i-neednum,2);
    end
end
 
%ESN
%split the data into train and test
train_fraction = 0.5 ; % use 50% in training and 50% in testing
[trainInputSequence, testInputSequence]  = split_train_test(inputSequence,train_fraction);
[trainOutputSequence,testOutputSequence] = split_train_test(outputSequence,train_fraction);
 
%generate an esn 
nInputUnits    = 4; 
nInternalUnits = 100; 
nOutputUnits   = 1; 
 
esn = generate_esn(nInputUnits,nInternalUnits,nOutputUnits, ...
                   'spectralRadius',0.9,...
                   'inputScaling',[0.1;0.1;0.1;0.1],...
                   'inputShift',[0;0;0;0],...
                   'teacherScaling',0.3,...
                   'teacherShift',-0.2,...
                   'feedbackScaling',0,...
                   'type', 'plain_esn'); 
esn.internalWeights = esn.spectralRadius * esn.internalWeights_UnitSR;
 
%train the ESN
nForgetPoints            = 100 ; % discard the first 100 points
[trainedEsn,stateMatrix] = train_esn(trainInputSequence, trainOutputSequence, esn, nForgetPoints) ; 
 
predictedTrainOutput = test_esn(trainInputSequence, trainedEsn, nForgetPoints);
predictedTestOutput  = test_esn(testInputSequence,  trainedEsn, nForgetPoints) ; 
 
nPlotPoints          = length(predictedTestOutput);  
相关文章
|
6天前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
14 0
|
7天前
|
安全 算法 网络安全
网络安全与信息安全:保护数据,从了解漏洞到强化加密
【5月更文挑战第6天】随着数字化时代的到来,网络安全和信息安全已成为维护个人隐私和企业资产的重要组成部分。本文将深入探讨网络安全的漏洞、加密技术的最新进展以及提升安全意识的重要性。通过对这些关键领域的分析,读者将获得如何有效防御网络威胁和保护敏感信息的知识。
|
1天前
|
安全 算法 网络安全
网络安全与信息安全:保护你的数据,保护你的世界
【5月更文挑战第12天】在数字化的世界中,网络安全和信息安全已经成为我们生活的重要组成部分。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面的问题,帮助读者更好地理解和保护自己的数据。我们将讨论如何识别和防止网络安全威胁,如何使用加密技术来保护信息,以及如何提高自己的安全意识,从而在网络世界中更安全地生活。
|
3天前
|
Windows
LabVIEW通过网络传输数据
LabVIEW通过网络传输数据
|
5天前
|
安全 算法 网络安全
网络安全与信息安全:保护您的数据和隐私
【5月更文挑战第8天】随着互联网的普及和技术的快速发展,网络安全和信息安全已经成为我们日常生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助您更好地保护自己的数据和隐私。
|
6天前
|
安全 网络协议 网络安全
网络安全与信息安全:保护你的数据,确保你的安全
【5月更文挑战第7天】在数字化的世界中,网络安全和信息安全是至关重要的。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面,帮助读者了解如何保护自己的数据和确保自己的网络安全。
|
6天前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6天前
|
机器学习/深度学习 数据可视化 算法
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例1
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6天前
|
机器学习/深度学习 数据可视化 算法
SPSS Modeler决策树和神经网络模型对淘宝店铺服装销量数据预测可视化|数据分享
SPSS Modeler决策树和神经网络模型对淘宝店铺服装销量数据预测可视化|数据分享
|
6天前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化|数据分享
R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化|数据分享