【博士每天一篇文献-算法】A pseudo-inverse decomposition-based self-organizing modular echo

news2025/2/23 13:00:14

阅读时间:2023-11-6

1 介绍

年份:2022
作者:王雷,北京信息科技大学自动化学院
期刊: Applied Soft Computing
引用量:12

提出了一种基于伪逆分解的自组织模块化回声状态(PDSM-ESN)网络。该网络通过增长-修剪方法构建,使用误差和条件数来确定储层的结构。作者们还采用了伪逆分解方法来提高网络的学习速度。此外,论文讨论了ESN中的病态问题,并提出了解决方案,例如修剪具有高条件数的模块化子储层。

2 创新点

(1)提出了一种基于伪逆分解的自组织模块化回声状态网络(PDSM-ESN)。这种网络利用生长修剪方法构建,使用误差和条件数来确定储层的结构。同时,采用了伪逆分解方法来提高网络的学习速度。
(2)解决了回声状态网络(ESN)中的不适定问题。文中提出了一些解决方案,例如修剪具有高条件数的模块化子储层。
(3)通过模拟实验结果表明,PDSM-ESN在预测性能和运行时间复杂性方面优于传统的ESN模型。这为改进回声状态网络在时间序列预测方面的设计和性能提供了启示。

3 相关研究

总结了ESN有两个主要缺点:
(1)由于储层的黑盒特性,许多性能属性很难理解。因此,需要进行大量的实验,甚至需要运气。网络性能高度依赖于蓄水池神经元的数量,因此需要一个与特定任务相匹配的适当的蓄水池结构[26,27]。
为了设计一个适当的储层,已经提出了一些模型,包括确定性储层【,Minimum complexity echo state network】【Decoupled echo state networks with lateral inhibition】、生长方法【Growing echo-state network with multiple subreservoirs】、修剪方法【Pruning and regularization in reservoir computing】【 Improved simple deterministically constructed cycle reservoir network with sensitive iterative pruning algorithm】、进化方法【 Echo state networks with orthogonal pigeon-inspired optimization for image restoration】【 PSO-based growing echo state network, 】和混合ESN【2021- Convolutional multitimescale echo state network】【2021-Echo memory-augmented network for time series classification】。
(2)输出权重通过最小二乘误差(LSE)方法学习,因此可能出现病态问题。一旦发生这种情况,就会产生大的输出权重,影响了泛化能力[28,29]。
为了解决病态问题,一些正则化方法,如L1正则化、L2正则化和混合正则化,已经被用于增强泛化能力。L1正则化方法,包括lasso[38]、自适应lasso【2019-Adaptive lasso echo state network based on modified Bayesian information criterion for nonlinear system modeling】和自适应弹性网【Adaptive elastic echo state network for multivariate time series prediction】,可以获得稀疏的预测模型。L2正则化具有平滑的特性,无法获得稀疏的预测模型[32]。混合正则化可以利用不同正则化的优势来训练ESN【2019-Hybrid regularized echo state network for multivariate chaotic time series prediction】。

4 算法

PDSM-ESN具有具有误差和条件数的生长-修剪阶段,可以有效解决结构设计和病态问题。同时,采用伪逆分解来改善学习速度,因此输出权重是通过迭代增量方法学习得到的。
(1)Growing phase(增长阶段):在增长阶段,通过使用奇异值分解(SVD)方法构造模块化的子储层,将模块化子储层逐块地添加到网络中,直到满足停止准则。在增长阶段,还采用伪逆分解方法来训练输出权重。增长阶段的目的是优化结构设计以及增强泛化能力。
(2)Pruning phase(修剪阶段):修剪阶段主要包括两个阶段。第一阶段是使用条件数修剪线性相关的模块化子储层。第二阶段是使用迭代矩阵分解方法计算伪逆矩阵,此过程与增长阶段类似。在修剪阶段中,根据条件数,将导致条件数较大的有问题的模块化子储层进行修剪。修剪阶段的目的是修剪冗余的子储层,增强ESN的泛化能力。
image.png

5 实验分析

(1)在Mackey-Glass 数据集上测试

  • PDSM-ESN在Mackey-Glass时间序列预测上具有较好的性能。与传统的ESN相比,PDSM-ESN具有更好的预测准确度和更小的测试误差。
  • PDSM-ESN在不同子储层大小下的表现受到子储层大小的影响。实验结果表明,在子储层大小为5时,PDSM-ESN具有最佳的性能。
  • PDSM-ESN在Mackey-Glass时间序列预测中具有较高的鲁棒性。在不同阈值下的实验结果表明,当阈值为0.002左右时,PDSM-ESN的成功设计比率比ESN高两倍左右。
  • PDSM-ESN具有紧凑的网络结构,训练时间最短,并且具有较好的预测性能和泛化能力。

(2)在Henon map数据集测试
在50次独立的实验中,当阈值η大于0.003时,PDSM-ESN的成功设计比率高于OESN。当阈值η达到0.007时,PDSM-ESN和OESN的成功设计比率分别为95%和50%,这意味着PDSM-ESN比OESN更具鲁棒性。在PDSM-ESN的自组织过程中(如图14),储层的大小会增加或减小,因此内部状态矩阵的条件数也会发生变化。
(3)水处理厂中氨氮浓度的预测

  • NH4-N浓度是评估废水处理厂水质的重要参数,过量排放NH4-N可能导致水体富营养化。由于经济条件或检测技术限制,NH4-N浓度很难通过检测仪器进行检测,因此需要使用软测量方法来进行预测。
  • 通过使用提出的DLSBESN方法对NH4-N浓度进行预测,实验结果表明,PDSM-ESN的预测误差明显低于OESN。PDSM-ESN的预测误差范围为[-0.2,0.2],而OESN的预测误差范围为[-0.9,1.4]。
  • 效果图显示,PDSM-ESN对废水NH4-N浓度的预测与实际观测值非常接近,决定系数R2为0.9969,说明PDSM-ESN具有较高的预测准确性。
  • PDSM-ESN的成功设计比率始终高于OESN,这表明PDSM-ESN更具鲁棒性。
  • 在自组织过程中(如图24),内部状态矩阵的条件数先增加后减小。当储层尺寸为115时,条件数达到最大值,而当储层尺寸为40时,条件数相对较小。因此,PDSM-ESN减轻了病态问题。

6 思考

这篇论文给了详细的算法推理过程,证明了生成-剪枝的理论在ESN上可行性。并从三个数据集上,证明了改进的ESN的有效性。生成的过程就是先初始化很多储层子模块,再去删除掉多余的子模块,保留下最佳的储层结构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1199341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于python+django的美食餐厅点餐订餐网站

运行环境 开发语言:Python python框架:django 软件版本:python3.7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:PyCharm/vscode 前端框架:vue.js 项目介绍 本论文主要论述了如何使用python语言开发…

asp.net员工管理系统VS开发sqlserver数据库web结构c#编程包括出差、请假、考勤

一、源码特点 asp.net员工管理系统是一套完善的web设计管理系统(主要包括出差、请假、考勤基础业务管理),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010 ,数据库为sqlserver2008&a…

Http状态码502常见原因及排错思路(实战)

Http状态码502常见原因及排错思路 502表示Bad Gateway。当Nginx返回502错误时,通常表示Nginx作为代理服务器无法从上游服务器(如:我们的后端服务器地址)获取有效的响应。导致这种情况的原因有很多: 后端服务器故障ngin…

在 WSL 上启用 NVIDIA CUDA

环境要求 Windows 11 或 Windows 10 版本 21H2特定版本的GPU驱动: 安装支持 NVIDIA CUDA 的 WSL 驱动程序: https://www.nvidia.com/download/index.aspx具体安装哪个版本,查阅:https://docs.nvidia.com/cuda/wsl-user-guide/in…

从虚拟机下载开始的kubeSphere安装

目录 一、虚拟机安装 二、镜像下载安装 1、镜像下载 2、虚拟机创建 3、虚拟机系统安装 三、虚拟机配置 1、IP固定 2、配置yum阿里源 3、关闭防火墙 4、 关闭selinux 5、 禁止swap交换 6、内核参数修改 7、设置kubernetes源 四、docker安装 五、虚拟机分组 六、…

Linux之IPC通信共享内存(一次拷贝)与消息队列、管道、信号量、socket(两次拷贝)总结(六十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

【蓝桥杯选拔赛真题18】C++病毒繁殖 第十二届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++病毒繁殖 一、题目要求 1、编程实现 2、输入输出 二、算法分析 <

微信小程序入门及开发准备,申请测试号以及小程序开发的两种方式,目录结构说明

目录 1. 介绍 1.1 优点 1.2 开发方式 2. 开发准备 2.1 申请 2.2 申请测试号 2.2 小程序开发的两种方式 2.3 开发工具 3. 开发一个demo 3.1 创建项目 3.2 配置 3.3 常用框架 3.3 目录结构说明 3.4 新建组件 1. 介绍 1.1 优点 是一种不需要下载安装即可使用的应用…

【LeetCode】每日一题 2023_11_12 每日一题 Range 模块

文章目录 刷题前唠嗑题目&#xff1a;Range 模块题目描述代码与解题思路 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 嗯&#xff1f;怎么是 hard&#xff0c;好长&#xff0c;可恶&#xff0c;看不懂&#xff0c;怎么办 题目&#xff1a;Range 模块 题…

邻接矩阵储存图实现深度优先遍历(C++)

目录 基本要求&#xff1a; 图的结构体&#xff1a; 图的构造&#xff1a; 图的深度优先&#xff08;DFS&#xff09;&#xff1a; 图的打印输出&#xff1a; 完整代码&#xff1a; 测试数据&#xff1a; 运行结果&#xff1a; 通过给出的图的顶点和边的信息&#xff0c…

Apache和Nginx实现虚拟主机的3种方式

目录 首先介绍一下Apache和nginx&#xff1a; Nginx和Apache的不同之处&#xff1a; 虚拟主机 准备工作 Apache实现&#xff1a; 方法1&#xff1a;使用不同的ip来实现 方法2&#xff1a;使用相同的ip&#xff0c;不同的端口来实现 方法3&#xff1a;使用相同的ip&…

【C++基础 】类和对象(上)

C基础 类和对象&#xff08;上&#xff09; 1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装4.1 访问限定符4.2 封装 5.类的作用域6.类的实例化7.类对象模型7.1 如何计算类对象的大小7.2 类对象的存储方式猜测7.3 结构体内存对齐规则 8.this指针8.1 t…

人工智能领域200例教程专栏—学习人工智能的指南宝典

&#x1f389;&#x1f38a;&#x1f389; 你的技术旅程将在这里启航&#xff01; &#x1f680; 本专栏&#xff1a;人工智能领域200例教程专栏 从基础到实践&#xff0c;深入学习。无论你是初学者还是经验丰富的老手&#xff0c;对于本专栏案例和项目实践都有参考学习意义。 …

2023 年最新 Alipay 支付包商户接入实现 Java 网站在线支付功能(详细指南教程)

支付宝商户注册申请 若您的材料在电脑端&#xff0c;或企业/单位要求在电脑端操作。您的材料在手机端且方便在支付宝App中管理企业信息&#xff0c;可参阅《手机端开通企业支付宝-操作手册》开通企业支付宝。电脑端准备材料并使用个人支付宝扫码验证身份后开始注册。

二叉树的遍历(先序,中序,后序,层序)

目录 1.先序遍历1.代码实现 2.中序遍历1.代码实现 3.后序遍历1.代码实现 4.遍历算法的应用5.层序遍历1.算法思想2.代码实现 6.由遍历序列构造二叉树 1.先序遍历 根左右。 1.代码实现 若二叉树为空&#xff0c;则什么也不做; 若二叉树非空: ①访问根结点; ②先序遍历左子树; ③先…

Rt-Thread 移植6--多线程(KF32)

6.1 就绪列表 6.1.1 线程就绪优先级组 线程优先级表的索引对应的线程的优先级。 为了快速的找到线程在线程优先级表的插入和移出的位置&#xff0c;RT-Thread专门设计了一个线程就绪优先级组。线程就绪优先组是一个32位的整型数&#xff0c;每一个位对应一个优先级&#xff…

Leetcode—69.x的平方根【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—69.x的平方根 直接法实现代码 int mySqrt(int x) {long long i 0;while(i * i < x) {i;}if(i * i > x) {return i - 1;}return i; }运行结果 二分法实现代码 int mySqrt(int x) {long long left 0, right (l…

数据拟合、参数估计、插值等数据处理算法

介绍 数据拟合&#xff1a; 数据拟合是通过选择或构建合适的函数模型&#xff0c;将给定的数据点与该函数模型进行匹配和拟合的过程。常见的数据拟合方法包括最小二乘法和非线性最小二乘法。最小二乘法通过最小化实际数据与拟合函数的残差平方和来求解最优拟合参数。非线性最小…

文本处理大师:Linux中grep、sed和awk的绝佳教程

1 grep 搜索关键字 全局搜索正则表达式 1.1 基本格式 grep root passwd #过滤含有root关键字-e 多个过滤词 grep -e root -e bash pa grep -E "root|bin" pa # 等同于上面的命令-i 忽略大小写 -E 过滤 grep -E "\<root" passwd ##root字符之前不能有…