预测算法|改进粒子群算法优化极限学习机IDM-PSO-ELM

回归拟合:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分类

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文是作者的预测算法系列的第四篇,前面的文章中介绍了BP、SVM、RF及其优化,感兴趣的读者可以在作者往期文章中了解,这一篇将介绍——极限学习机

过去的几十年里基于梯度的学习方法被广泛用于训练神经网络,如BP算法利用误差的反向传播来调整网络的权值.然而,由于不适当的学习步长,导致算法的收敛速度非常慢,容易产生局部最小值,因此往往需要进行大量迭代才能得到较为满意的精度.这些问题,已经成为制约其在应用领域发展的主要瓶颈.

Huang等人[1] 提出了一种简单高效的单隐层前馈神经网络学习算法,称为极限学习机(extremelearning machine,ELM).其典型优势是训练的速度非常快,具有训练速度快、复杂度低的优点,克服了传统梯度算法的局部极小、过拟合和学习率的选择不合适等[2]问题,目前被广泛地应用于模式识别、故障诊断、机器学习、软测量等领域。

00目录

1 标准极限学习机ELM

2 代码目录

3 ELM的优化实现

4 源码获取

5 展望

参考文献

01 标准极限学习机ELM

1.1 ELM原理

给定一数据集:T={(x1,y1),…,(xl,yl)},其中xi∈Rn,y∈R,i=1,…,l;含有 N 个隐层节点,激励函数为 G 的极限学习机回归模型可表示为:在这里插入图片描述

其中:bi 为第 i 个隐层节点与输出神经元的输出权值;ai为输入神经元与第 i 个隐层节点的输入权值;bi为第 i 个隐层节点的偏置;h(x)=[G(a1,b1,x1),…,(aN,bN,xN)]称为隐层输出矩阵。并且ai,bi在训练开始时随机选择,且在训练过程中保持不变。输出权值可以通过求解下列线性方程组的最小二乘解来获得:在这里插入图片描述

该方程组的最小二乘解为:在这里插入图片描述

其中, H+称为隐层输出矩阵H的 Moore-Penrose 广义逆.

1.2 ELM优化

由于 ELM 随机给定输入权值矩阵和隐含层偏差,由1.1节中的计算式可知输出权值矩阵是由输入权值矩阵和隐含层偏差计算得到的,可能会存在一些输入权值矩阵和隐含层偏差为 0,即部分隐含层节点是无效的. 因此在某些实际应用中,ELM 需要大量的隐含层节点才能达到理想的精度. 并且 ELM 对未在训练集中出现的样本反应能力较差,即泛化能力不足。针对以上问题可利用优化算法和极限学习机网络相结合的学习算法,即利用优化算法优化选择极限学习机的输入层权值和隐含层偏差,从而得到一个最优的网络[3].

对于ELM优化,以PSO优化ELM为例,其流程如下所示:在这里插入图片描述

02 代码目录

本文以改进的动态多种群粒子群算法优化ELM,并与标准粒子群算法优化ELM和ELM算法进行对比。

改进的动态多种群粒子群优化算法(IDM-PSO)

分类问题:

其中,IDM_PSO_ELM.m、MY_ELM_CLA.m和PSO_ELM.m都是可独立运行的主程序.而result.m可用于对比这三个算法的效果,若想对比算法,单独运行这个程序即可。

部分源码如下:在这里插入图片描述

回归拟合问题:在这里插入图片描述

回归拟合的程序和分类的类似,这里不再重复。

部分源码:
在这里插入图片描述

03 极限学习机及其优化的预测结果对比

3.1 回归拟合

应用问题为多输入单输出问题。

3.1.1 评价指标

为了验证所建模型的准确性和精度,分别采用均方根差(Root Mean Square Error,RMSE) 、平均绝对百分误差( Mean Absolute Percentage Error,MAPE)和平均绝对值误差( Mean Absolute Error,MAE) 作为评价标准。在这里插入图片描述

式中 Yi 和Y ^ i分别为真实值和预测值; n 为样本数。

3.1.2 仿真结果
在这里插入图片描述
在这里插入图片描述

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

可以看出,优化是有效的。

3.2 分类

3.2.1 评价指标

为验证模型准确率,本文从混淆矩阵、准确率、精确率、召回率、F1-score这些方面进行衡量。

1、混淆矩阵

混淆矩阵是一种可视化工具,混淆矩阵的每一列代表的是预测类别,其总数是分类器预测为该类别的数据总数,每一行代表了数据的真实类别,其总数是该类别下的数据实例总数。主对角线的元素即为各类别的分类准确的个数,通过混淆矩阵能够直观地看出多分类模型的分类准确率。

2、准确率

最为简单判断 SVM 多分类效果的方法就是用以下公式进行准确率r 的计算
在这里插入图片描述

其中 ncorrect代表正确分类的样本个数, N代表测试集中的样本总数。

3、精确度

精度计算的是正类预测正确的样本数,占预测是正类的样本数的比例,公式如下
在这里插入图片描述

其中,TP表示的是正样本被预测为正样本的个数,FP表示的是负样本被预测为 正样本的个数。

4、召回率

召回率计算的是预测正类预测正确的样本数,占实际是正类的样本数的比例,公式如下:
在这里插入图片描述

其中, FN 表示的是正样本被判定为负样本的个数。

5、F1-score

F1- score是精度和召回率的调和平均值, F1- score越高说明模型越稳健,计算公式为
在这里插入图片描述

6、宏平均(macro-averaging)

宏平均(macro-averaging)是指所有类别的每一个统计指标值的算数平均值, 也就是宏精确率(macro - precision),宏召回率( macro -recall ),宏 F1 值 (macro- F1 score),其计算公式如下:
在这里插入图片描述

3.2.2 仿真结果
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

对于分类问题仍然有效,需要注意的是因为某些类别并没有存在预测值,因此由精确率和F1的计算式可知会出现NaN。

04 源码获取

关注作者或私信

05 展望

本文介绍了应用改进的动态多种群粒子群算法优化ELM的案例,同样也可以采用作者前面提到过的麻雀算法等,同时,极限学习机因其在处理大规模数据时出现的无法收敛等问题,出现了核极限学习机、多核极限学习机、深度极限学习机等变体,作者后续也会更新这些算法的实现。

参考文献

[1]Huang G B,Zhu Q Y,Siew C K. Extreme learning machine:A new learning scheme of feedforward neural networks//Proceedings of the 2004 1EEE International Joint Conferenceon Neural Networks. Budapest,Hungary,2004:985-990

[2]FAN Shu-ming,QIN Xi-zhong,JIA Zhen-hong,et al.Time series forecasting based on ELM improved layered ensemble architecture[J].Computer Engineering and Design,2019,40(7):1915-1921.

[3]王杰,毕浩洋.一种基于粒子群优化的极限学习机[J].郑州大学学报(理学版),2013,45(01):100-104.

另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。

如果这篇文章对你有帮助或启发,可以点击右下角的赞(ง •̀_•́)ง(不点也行),若有定制需求,可私信作者。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[gdc]Rendering ‘God of War Ragnark‘

gdc23, sony santa monica关于god of war的分享; back ground 作者stephen mcauley现在是santa monica的technical director;20年加入santa monica,作为rendering lead,有9年的经验,之前在ubisoft montre…

zookeeperAPI操作与写数据原理

要执行API操作需要在idea中创建maven项目 (改成自己的阿里仓库)导入特定依赖 添加日志文件 上边操作做成后就可以进行一些API的实现了 目录 导入maven依赖: 创建日志文件: 创建API客户端: (1&#xff09…

【uniapp】uniapp自动导入自定义组件和设置分包:

文章目录 一、自动导入自定义组件:二、设置分包和预加载: 一、自动导入自定义组件: 【Volar 官网】https://github.com/vuejs/language-tools 二、设置分包和预加载: 【官方文档】https://uniapp.dcloud.net.cn/collocation…

android开发之Android 自定义滑动解锁View

自定义滑动解锁View 需求如下: 近期需要做一个类似屏幕滑动解锁的功能,右划开始,左划暂停。 需求效果图如下 实现效果展示 自定义view如下 /** Desc 自定义滑动解锁View Author ZY Mail sunnyfor98gmail.com Date 2021/5/17 11:52 *…

开发工具Eclipse的使用之导入项目(import)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Eclipse使用的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.导读 二.详细操作步骤 1.右击项…

【深度学习】StyleGANv2 2019 论文,Analyzing and Improving the Image Quality of StyleGAN

StyleGAN论文: 《A Style-Based Generator Architecture for Generative Adversarial Networks》 论文:https://arxiv.org/abs/1812.04948 代码: https://github.com/NVlabs/stylegan StyleGANv2论文: 《Analyzing and Improving …

电池的正极是带正电?

首先说明结论:电池正极带正电,负极带负电。 一个错误的实例: 如果说电流是从电池正极流动到电池负极,那么电子就是从负极流动到正极,那么正极就是带负电。----这个说法是错误的。这是因为,根据那么很出名…

简绘ChatGPT支持Midjourney绘图 支持stable diffusion绘图

简绘支持Midjourney绘图和stable diffusion绘图。 这意味着简绘具备Midjourney绘图和stable diffusion绘图功能的支持。

无涯教程-Perl - redo函数

描述 此函数将重新启动当前循环,而不会强制判断控制语句。块中不再执行任何语句。如果存在继续块,将不会执行。如果指定了LABEL,则在LABEL标识的循环开始时重新开始执行。 语法 以下是此函数的简单语法- redo LABELredo返回值 此函数不返回任何值。 例 以下是显示其基本…

Shell编程之条件测试、if语句、case语句

条件语句 一、条件测试1.1 测试命令1.1 文件测试1.2 整数比较1.3 字符串比较1.4 逻辑测试1.4.1 逻辑与 &&1.4.2 逻辑或 || 1.4.3 组合应用1.5 多个命令组合执行 ( ) { } 二、if语句2.1单分支结构2.2 多分支结构2.4 if语句练习2.4.1 单分支2.4.2 简单的交互式分数反馈 三…

元宇宙核能发电VR模拟仿真实训教学为建设新型电力系统提供重要支撑

随着“碳达峰、碳中和”目标与建设新型能源体系的提出,在元宇宙环境下建设电力系统是未来发展的趋势。以物联网、区块链、数字孪生、混合现实等技术为主要代表的元宇宙技术体系及其在电力和能源系统中的应用,将会促进智能电网的发展,为建设新…

VR安全宣传系列:防触电虚拟现实体验

在电气工作中,安全问题始终是重中之重。为了更好地提高公众的电气安全意识和技能,广州华锐互动开发了一种基于虚拟现实技术的模拟系统——VR防触电虚拟体验系统。这种系统可以模拟各种因操作不当导致的触电事故场景,并提供沉浸式的体验&#…

利用OpenSSL实现私有 CA 搭建和证书颁发

利用OpenSSL实现私有 CA 搭建和证书颁发 一、私有 CA 搭建1. 安装openssl2. 配置 openssl3. 生成 CA 自己的私钥4. 生成 CA 自己的自签证书5. 验证自签证书 二、向私有CA申请证书流程1. 生成应用私钥文件2. 根据应用私钥生成证书申请文件3. 向CA请求颁发证书4. 验证应用证书5. …

2022年09月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;指定顺序输出 依次输入3个整数a、b、c,将他们以c、a、b的顺序输出。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 一行3个整数a、b、c&#xff0c;以空格分隔。 0 < a,b,c < 108 输出 一行3个整数c、a、b&#xff0c;整数之间以一个空格分…

腾讯云服务器标准型CVM实例详细介绍S5/S6/SA2/SR1/SA3/S4等

腾讯云CVM服务器标准型实例的各项性能参数平衡&#xff0c;标准型云服务器适用于大多数常规业务&#xff0c;例如&#xff1a;web网站及中间件等&#xff0c;常见的标准型云服务器有CVM标准型S5、S6、SA3、SR1、S5se等规格&#xff0c;腾讯云服务器网来详细说下云服务器CVM标准…

使用sqlplus连接oracle,提示ORA-01034和ORA-27101

具体内容如下 PL/SQL Developer 处 登录时 终端处 登录时 ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Process ID: 0 Session ID: 0 Serial number: 0 解决方法是执行以下命令 sqlplus /nolog conn / as sysdba startup …

0001nginx简介、相关模型与原理

文章目录 一. 什么是Nginx二. ngnix的一些模型1、nginx的进程模型2、worker的抢占&#xff08;锁&#xff09;机制模型3. nginx事件处理模型 三. nginx加载静态资源的过程 一. 什么是Nginx Nginx是一个高性能HTTP反向代理服务器&#xff0c;以下是nginx的相关能力 反向代理&am…

JDK 8 升级 JDK 17 全流程教学指南

JDK 8 升级 JDK 17 首先已有项目升级是会经历一个较长的调试和自测过程来保证允许和兼容没有问题。先说几个重要的点 遇到问题别放弃仔细阅读报错&#xff0c;精确到每个单词每一行&#xff0c;不是自己项目的代码也要点进去看看源码到底是为啥报错明确你项目引入的包&#x…

【Transformer】自注意力机制Self-Attention | 各种网络归一化Normalization

1. Transformer 由来 & 特点 1.1 从NLP领域内诞生 "Transformer"是一种深度学习模型&#xff0c;首次在"Attention is All You Need"这篇论文中被提出&#xff0c;已经成为自然语言处理&#xff08;NLP&#xff09;领域的重要基石。这是因为Transfor…

word横向页面侧面页码设置及转pdf后横线变竖线的解决方案

在处理材料的时候&#xff0c;会遇到同一个文档里自某一页开始&#xff0c;页面布局是横向的&#xff0c;这时候页码要设置在侧面&#xff0c;方法是双击页脚&#xff0c;然后在word工具栏上选择“插入”——>“文本框”——>“绘制竖版文本框”&#xff0c;然后在页面左…