多层感知机和神经网络_CNN采用多层感知机进行分类

多层感知机和神经网络_CNN采用多层感知机进行分类单独的ESN仿真:ESN的运行结果如下所示:这个部分的误差为:0.0435ESN部分就不多做介绍了,你应该了解的,下面我们对ESN和BP改进和极限学习改进分别进行修改和说明,并进行仿真。ESN+BP的仿真:首先,在原始的ESN中,权值的计算是通过pseudoinverse.m这个函数进行计算的,其主要内容就是:即:这里,我们的主要方法…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

单独的ESN仿真:

        ESN的运行结果如下所示:

多层感知机和神经网络_CNN采用多层感知机进行分类

         这个部分的误差为:

         0.0435

         ESN部分就不多做介绍了,你应该了解的,下面我们对ESN和BP改进和极限学习改进分别进行修改和说明,并进行仿真。

ESN+BP的仿真:

        首先,在原始的ESN中,权值的计算是通过pseudoinverse.m这个函数进行计算的,其主要内容就是:

       多层感知机和神经网络_CNN采用多层感知机进行分类

即:

      多层感知机和神经网络_CNN采用多层感知机进行分类

        这里,我们的主要方法为:

        将多层感知机和神经网络_CNN采用多层感知机进行分类计算得到的权值作为bp神经网络迭代的初始值,然后以这个初始值为迭代过程的第一个值,不断的训练迭代,最后得到ESN-BP输出的权值,然后进行测试。

         因此,其基本思路就是通过B-1T得到初始权值,然后通过bp网络进行迭代,得到最后优化后的值。

多层感知机和神经网络_CNN采用多层感知机进行分类

 计算后的误差为0.0427

        从上面的对比可知,采用BP神经网络进行权值系数的非线性更新之后,其误差可以进一步降低。但提升性能有限。

ESN+极限学习算法的仿真:

        这个部分的原理和上面的相同,不同的是,我们需要使用极限学习方法对ESN网络的中的权值进行更新。

多层感知机和神经网络_CNN采用多层感知机进行分类

 误差为:0.1050

下面给出整个算法的流程框图:

多层感知机和神经网络_CNN采用多层感知机进行分类

2.部分核心代码 

clc;
clear; 
close all;
warning off;
RandStream.setDefaultStream(RandStream('mt19937ar','seed',1));
addpath 'func\data_process\'
addpath 'func\Initial_ESN\'
addpath 'func\train_esn\'
addpath 'func\test_esn\'
 
load data.mat
%数据分割
train_fraction                           = 0.5;
[trainInputSequence, testInputSequence]  = split_train_test(inputSequence,train_fraction);
[trainOutputSequence,testOutputSequence] = split_train_test(outputSequence,train_fraction);

%generate an esn 
nInputUnits          = 2; 
nInternalUnits       = 32; 
nOutputUnits         = 1; 
esn                  = generate_esn(nInputUnits,nInternalUnits,nOutputUnits,'spectralRadius',0.5,'inputScaling',[0.1;0.1],'inputShift',[0;0],'teacherScaling',[0.3],'teacherShift',[-0.2],'feedbackScaling',0,'type','plain_esn'); 
esn.internalWeights  = esn.spectralRadius * esn.internalWeights_UnitSR;

%train the ESN
%discard the first 100 points
nForgetPoints        = 100; 
%这里,就固定设置一种默认的学习方式,其他的就注释掉了
[trainedEsn,stateMatrix] = train_esn(trainInputSequence,trainOutputSequence,esn,nForgetPoints) ; 

%test the ESN
nForgetPoints        = 100 ; 
predictedTrainOutput = test_esn(trainInputSequence, trainedEsn, nForgetPoints);
predictedTestOutput  = test_esn(testInputSequence,  trainedEsn, nForgetPoints) ; 

figure;
plot(testOutputSequence(nForgetPoints+4:end),'b');
hold on
plot(predictedTestOutput,'r');
legend('原数据','预测数据');
title('ESN-ELM:测试数据的预测');


%计算测试数据的预测结果:
estimatedOutput = predictedTestOutput(1:end-3);
correctOutput   = testOutputSequence(nForgetPoints+4:end);

nEstimatePoints = length(estimatedOutput) ; 
nForgetPoints   = length(correctOutput) - nEstimatePoints ;  
correctVariance = 1;
meanerror       = sum((estimatedOutput - correctOutput).^2)/nEstimatePoints ; 
err             =(sqrt(meanerror./correctVariance));
err

3.参考文献

A05-22

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179752.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021年 全网最细大数据学习笔记(一):初识 Hadoop

    2021年 全网最细大数据学习笔记(一):初识 Hadoop文章目录一、大数据1、大数据的定义2、大数据的特点3、大数据行业应用4、Hadoop与大数据5、其他大数据处理平台6、大数据人才三、一、大数据随着近来计算机技术和互联网的发展,大数据这个名词越来越多地进入到我们的视野中,大数据的快速发展也无时刻影响着我们的生活。1、大数据的定义大数据从字面来理解就是大量的数据。日常生活离不开数据,可以说每时每刻都在产生着数据。例如,一分钟可以做些什么事呢?在日常生活中,一分钟可能连一页书都看不完。但是一分钟内产生的数据却是庞大的。据统计,在一分钟内,YouTu

    2022年6月4日
    32
  • 文件io之——open/close

    文件io之——open/close

    2022年3月1日
    51
  • pytest的使用_新代子程序重复调用

    pytest的使用_新代子程序重复调用Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

    2022年7月31日
    10
  • python plotly 使用教程

    python plotly 使用教程1、plotly介绍lotly的Python图形库使互动的出版质量图表成为在线。如何制作线图,散点图,面积图,条形图,误差线,箱形图,直方图,热图,子图,多轴,极坐标图和气泡图的示例。推荐最好使

    2022年7月5日
    31
  • 软件设计——UML类图详解「建议收藏」

    一:UML类图思维导图 思维导图地址:http://naotu.baidu.com/file/df1cb03489378d2a541d3d8d181399da?token=2eb1feb8006fa607 密码:33bZ二:详细分析和介绍下面就从上面的思维导图开始,详细的介绍UML类图! 在讲解之前请看关系线条图(一定要牢记): 1、 什么是UML,概念是什么? 统一建模语言

    2022年2月25日
    77
  • py文件的运行

    安装过程及配置安装过程及配置安装过程及配置安装过程准备:下载好Python的安装程序后,开始安装,在进入安装界面后一定确保勾选将Python加入到系统环境变量的路径里。如图所示:2如果没有

    2022年3月29日
    79

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号