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

news2024/11/26 20:22:20

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

分类

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文是作者的预测算法系列的第四篇,前面的文章中介绍了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.coloradmin.cn/o/872405.html

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

相关文章

全网最详细,Pytest自动化测试框架-Fixture固件实战,你要的都有...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 什么是固件 Fixt…

SpringBoot整合Redis完整篇

SpringBoot整合Redis完整篇 1、在springboot项目的pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schem…

用HARU-Net增强核分割:一种基于混合注意的残差u块网络

文章目录 Enhancing Nucleus Segmentation with HARU-Net: A Hybrid Attention Based Residual U-Blocks Network摘要本文方法损失函数后处理消融实验 Enhancing Nucleus Segmentation with HARU-Net: A Hybrid Attention Based Residual U-Blocks Network 摘要 核图像分割是…

B3716 分解质因子 3

#include <bitset> #include <vector> #include <iostream> #include <algorithm>const int maxn 100000008;std::vector<int> prm, pre; // pre is the min-factor array. bool np[maxn];void getPrime(const int N 100000000) {//线性筛&am…

Fast SAM与YOLOV8检测模型一起使用实现实例分割以及指定物体分割(有代码)

Fast SAM与YOLOV8检测模型一起使用 VX 搜索”晓理紫“ 关注并回复yolov8fastsam获取核心代码 晓理紫 1 使用场景 实例分割数据集的获取要比检测数据的获取更加困难&#xff0c;在已有检测模型不想从新标注分割数据进行训练但是又想获取相关物体的mask信息以便从像素级别对物体进…

Redis原理简述

Redis原理简述 Redis 有哪些特性 1. 特性 key-value 型内存数据库单线程——原子化操作支持lua脚本发布与订阅可持久化逐出与过期……2. 持久化 RDB:经过压缩的二进制文件;fork子进程进行操作AOF:保存所有写命令;先写缓存再同步至AOF文件;文件过大时会触发AOF重写3. 过期…

4. 发布确认

4.1. 发布确认原理 生产者将信道设置成 confirm 模式&#xff0c;一旦信道进入 confirm 模式&#xff0c;所有在该信道上面发布的 消息都将会被指派一个唯一的 ID(从 1 开始)&#xff0c;一旦消息被投递到所有匹配的队列之后&#xff0c;broker 就会发送一个确认给生产者(包含消…

[python]RuntimeError: Can‘t decrement id ref count (unable to close file...

使用spectralspatial模型进行EEG分类时&#xff0c;出现以下错误 RuntimeError: Cant decrement id ref count (unable to close file, errno 5, error message Input/output error) Segmentation fault (core dumped) 猜测是因为存储的model太大了导致的&#xff0c;找到了…

QGIS3.28的二次开发八:显示shp的属性表

这里实现两个基本的 GIS 软件需求&#xff1a;矢量图层的属性表显示&#xff0c;以及根据属性筛选要素。 具体需求如下&#xff1a; 加载一个矢量图层并打开其属性表&#xff1b;输入筛选条件确认无误后&#xff0c;画布上和属性表中均只显示筛选后的要素。 QGIS 提供了若干…

V3s uboot 通过env 修改LCD 参数信息

实际项目中我们可能使用各种参数的LCD 显示器&#xff0c;有7吋&#xff0c;4.3 寸等等&#xff0c;我这里使用的uboot 版本是U-Boot 2017.01-rc2 &#xff0c;在make menuconfig 时候会填入lcd 配置信息&#xff0c;如下&#xff1a; 所以这里使用起来很不方便&#xff0c;查看…

Vulnhub: DriftingBlues: 3靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.192 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.192 查看robots.txt得到提示 访问eventadmins提示littlequeenofspades.html 查看littlequeenofspades.html源码 base64解密…

掌握Python的X篇_35_用Python为美女打码_图像库Pillow

本篇将会介绍python中的一个图像库Pillow。 文章目录 1. Pillow与PIL的关系2. 调整大小3. 加滤镜4. 剪裁5. 生成验证码 1. Pillow与PIL的关系 我们在网上搜python的图像库的话&#xff0c;可能搜到的时PIL。实际上之前python发展的时候就是PIL&#xff0c;这个库比较好用&…

IL汇编语言做一个窗体

网上看到一段代码&#xff0c; .assembly extern mscorlib {} .assembly Classes { .ver 1:0:1:0 } .namespace MyForm { .class public TestForm extends [System.Windows.Forms]System.Windows.Forms.Form { .field private class [System]…

C语言快速回顾(二)

前言 在Android音视频开发中&#xff0c;网上知识点过于零碎&#xff0c;自学起来难度非常大&#xff0c;不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》&#xff0c;结合我自己的工作学习经历&#xff0c;我准备写一个音视频系列blog。C/C是音视频必…

房屋中介系统springboot框架jsp房产信息管理java源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 房屋中介系统springboot框架 系统有1权限&#xff1a…

SAP MM学习笔记19- SAP中的库存处理 单纯的退货,交货不足和过量交货

下面这篇文章讲了 SAP中的库存类型。本篇讲一些库存处理场景。 SAP MM学习笔记19- SAP中的库存类型&#xff0c;以及 保留在库的利用场景_东京老树根的博客-CSDN博客 1&#xff0c;单纯的退货 收货之后发现不合格货物&#xff0c;然后就想退货。而且退货之后不想再要了&#…

RES 系列 GRES: Generalized Referring Expression Segmentation 论文阅读笔记

RES 系列 GRES: Generalized Referring Expression Segmentation 论文阅读笔记 一、Abstract二、引言三、相关工作有关的指代任务和数据集指代分割方法 四、任务设置及数据集4.1 GRES 设置RES 回顾一般化的 RES评估 4.2 gRefCOCO&#xff1a;一个大尺度的 GRES 数据集多目标样本…

使用腾讯云轻量服务器Matomo应用模板建网站流量统计系统

腾讯云百科分享使用腾讯云轻量应用服务器Matomo应用模板搭建网站流量统计系统&#xff0c;Matomo 是一款开源的网站数据统计软件&#xff0c;可以用于跟踪、分析您的网站的流量&#xff0c;同时充分保障数据安全性、隐私性。该镜像基于 CentOS 7.6 64位操作系统&#xff0c;已预…

Docker技术入门教程

Docker技术入门教程 一、docker概念 一款产品从开发到上线&#xff0c;从操作系统&#xff0c;到运行环境&#xff0c;再到应用配置。作为开发运维之间的协作我们需要关心很多东西&#xff0c;这也是很多互联网公司都不得不面对的问题&#xff0c;特别是各种版本的迭代之后&a…

Digital thread中文术语标准化|Digital thread何时是“数字主螺纹”的意思?

文章仅供个人学习使用&#xff0c;请勿传播&#xff01; 原文来源&#xff1a; 段海波 数字孪生体实验室 2021-12-30 18:22 https://mp.weixin.qq.com/s/-bgMkSewxOsjhTiagUnfsw 作者一直以来主张区分数字孪生系统和数字孪生体&#xff0c;进而构建系统化的数字孪生概念和术语体…