【DELM回归预测】基于matlab人工蜂群算法改进深度学习极限学习机数据回归预测【含Matlab源码 1885期】

news2024/11/23 16:30:56

⛄一、PSO-DELM简介

1 DELM的原理
在2004年,极限学习机(extreme learning machine,ELM)理论被南洋理工大学的黄广斌教授提出,ELM是一种单隐含层前馈神经网络(single-hidden layer feedforward neural network,SLFN)算法。它与常用的BP神经网络相比,ELM是对于权重和阈值随机的选取,而不像BP是通过反向传播算法调节各层之间的权值和阈值,从而减少了算法模型的学习时间和结构的复杂性,提高了模型整体的训练速度。

ELM的基本结构如图1所示,其由输入层、隐含层、输出层这3部分组成。原理说明如下,假设输入数据的样本集合为:X=xi|{1≤i≤N},输出数据的样本集合为:Y=yi|{1≤i≤N},其中N为样本总个数、xi为输入样本的第i个训练样本、yi为输出样本的第i个输出样本。这里设置隐含层的神经元个数为J个,则H={hi|1≤i≤J}为隐含层的输出向量的集合,hi为第i个输入样本对应的特征向量。把输入的样本数据在空间上映射到隐含层特征空间上,其二者的关系为
在这里插入图片描述
式中:G为激活函数,主要应用的有Sigmoid、Sin、Hardlim等等;α为输入层各个节点到隐含层各个节点的输入权重矩阵;B为隐含层各个节点的阈值矩阵。
在这里插入图片描述
图1 ELM的结构
若单隐含层的ELM能够实现在误差极小的情况下逼近“输出的N个样本”,则隐含层的输出为
在这里插入图片描述
式中:β为隐含层各个节点到输出层各个节点的输出权重矩阵;H为隐含层输出矩阵。

从以上说明中能看出极限学习机的目的就是让模型的输出与实际的输出之间的差值最小,即求解输出权重矩阵的最小二乘解的问题,只要模型能够输出权重矩阵的最小二乘解就可以完成模型的训练,输出权重矩阵β可由下式表示为
在这里插入图片描述 由 于ELM为单隐含层结构,在面对数据量过大、输入数据的维度过高的输入输出变量时,单隐 可能会使得部分的神经元成为无效的神经元,减弱算法模型对数据特征的学习能力。在研 点。 中:C为正则化系数。

本文 高ELM-AE的泛化能力。在ELM-AE产生正交的随机权重和阈值为
在这里插入图片描述
式中:I是单位矩阵。
在这里插入图片描述
图2 ELM-AE结构
在ELM-AE中,输出权重β负责学习从特征空间到输入数据的转换。并且在传统的方法中,是根据最小二乘法求得权重系数,但是在隐含层节点数过多的情况下,这样会导致模型的泛化能力弱和鲁棒性差。所以在求解权重系数中引入正则化系数,提高模型的泛化能力,这里将目标函数设置为
在这里插入图片描述
式中:C为正则化参数。对于稀疏和压缩的ELM-AE表示,把公式中的β求导,并且让目标函数为0,这样求得输出权重β为
式中:H为ELM-AE的隐含层输出矩阵;X为ELM-AE的输入和输出。

对于输入维度等于编码维度的ELM-AE,ELM-AE的输出权重矩阵β代表着从输入特征空间的数 在这里插入图片描述
并且在DELM中ELM-AE能用奇异值(SVD)来表示其特征,所以式(5)的奇异值分解为
在这里插入图片描述

深度极限学习机从结构上看相当于把多个ELM连接到了一起,但它相对于ELM能更全面地捕捉到数据之间的映射关系并提高处理高维度输入变量的精确度。DELM是逐层通过ELM-AE进行无监督的训练学习,最后接入回归层进行监督训练。其DELM的结构如图3所示,假设模型有M个隐含层,将输入数据样本X根据ELM-AE理论得到第一个权重矩阵β1,接着得到隐含层 的特征向量H1。以此类推,能够得到M层的输入权重矩阵βM和隐含层的特征向量HM。并且模型的前期是进行多层无监督的学习,不需要人为设置输入的权重和阈值,只要设置各层的隐含层的神经元个数,所以DELM拥有的学习过程快且泛化能力强的特点。
在这里插入图片描述
图3 DELM结构

⛄二、部分源代码

clear;clc;close all;
%% 导入数据
load data
%训练集——400个样本
P_train=input(:,(1:550));
T_train=output((1:550));
% 测试集——200个样本
P_test=input(:,(250:350));
T_test=output((250:350));
%% 归一化
% 训练集
[Pn_train,inputps] = mapminmax(P_train,0,1);
Pn_test = mapminmax(‘apply’,P_test,inputps);
% 测试集
[Tn_train,outputps] = mapminmax(T_train,0,1);
Tn_test = mapminmax(‘apply’,T_test,outputps);

%所有的数据输入类型应该为 N*dim,其中N为数据组数,dim为数据的维度
Pn_train = Pn_train’;
Pn_test = Pn_test’;
Tn_train = Tn_train’;
Tn_test = Tn_test’;

%% DELM参数设置
ELMAEhiddenLayer = [2,3];%ELM—AE的隐藏层数,[n1,n2,…,n],n1代表第1个隐藏层的节点数。
ActivF = ‘sig’;%ELM-AE的激活函数设置
C = inf; %正则化系数
%% 优化算法参数设置:
%计算权值的维度
dim = ELMAEhiddenLayer(1)*size(Pn_train,2);
if length(ELMAEhiddenLayer)>1
for i = 2:length(ELMAEhiddenLayer)
dim = dim + ELMAEhiddenLayer(i)*ELMAEhiddenLayer(i-1);
end
end

⛄三、运行结果

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

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]周莉,刘东,郑晓亮.基于PSO-DELM的手机上网流量预测方法[J].计算机工程与设计. 2021,42(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

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

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

相关文章

虹科新闻 | 虹科与RACOM正式建立合作伙伴关系

近日,虹科与RACOM正式建立合作伙伴关系,双方就工业应用自动化领域进行深入的交流与合作,未来将共同致力于为客户提供高效、可靠的工业通信解决方案,帮助客户布局工业信息系统。 虹科与RACOM都表示十分期待这次的合作。虹科CEO陈秋…

【信管4.3】确认与控制范围

确认与控制范围在范围管理中,我们已经讲完了 4 个管理过程,剩下的两个过程就是对范围的确认以及在整个项目执行过程中进行范围的监控管理。这两个过程的内容都不多,所以今天的内容还是非常轻松的,在正式学习之前,我们先…

再学C语言9:数据类型(7)——总结

一、sizeof()函数检测C环境中数据类型大小 代码&#xff1a; #include <stdio.h> int main(void) {printf("Type int has a size of %u bytes.\n", sizeof(int));printf("Type char has a size of %u bytes.\n", sizeof(char));printf("Type …

技术分享 | Jenkins 多任务关联

当有多个 Jenkins job 时&#xff0c;job 的执行需要按照先后顺序去执行&#xff0c;这个过程就是 Jenkins 的多任务关联。通常用于项目的编译、打包、执行冒烟、执行项目 case 多任务协助的场景中。 > 霍格沃兹测试学院 TestingStudio 触发条件 多任务关联的使用场景是有…

【大数据 clickhouse】clickhouse 数据字典使用详解

一、数据字典介绍 数据字典是ClickHouse提供一种非常简单且实用的存储媒介&#xff0c;他以键值和属性映射的形式定义数据。字典中的数据会主动或被动加载到内存并支持动态更新。由于字典数据常驻内存的特性&#xff0c;所以非常适合保存常量或经常使用的维度表数据&#xff0c…

没想到H5也是黑灰产的攻击重点?

近几年&#xff0c;在数字化与疫情的推动下&#xff0c;越来越多的企业开辟了线上业务&#xff0c;在互联网上通过各种方式开展业务。线上业务不仅使得企业效率提升&#xff0c;同时也面临着被黑灰产攻击的风险。黑灰产通过各种业务漏洞&#xff0c;能够攫取大量利益&#xff0…

[附源码]计算机毕业设计Python公共台账管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

mysql的优化---定位低效率执行SQL-慢查询日志

-- 查看慢日志配置信息 show variables like %slow_query_log%-- 开启慢日志查询 set global slow_query_log 1-- 查看慢日志记录SQL的最低阈值时间,默认如果SQL的执行时间>10秒的&#xff0c;则算慢查询&#xff0c;则会将该操作记录到慢日志中去 show variables like lon…

文本生成项目(基于tensorflow1.14版本)

项目下载链接&#xff1a;链接: https://pan.baidu.com/s/1OfICplwlEtRBz_ta7Nwyyg?pwdyr5c 提取码: yr5c 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 --来自百度网盘超级会员v4的分享 1.模型代码&#xff1a;model.py # -*- coding: utf-8 -*- # file: m…

Qemu中SylixOS与VMware中Linux的通信链路搭建

1.适用范围 在与客户沟通交流后&#xff0c;ECSM管理Linux端docker及Linux与SylixOS间通信也成了客户比较关心的一部分。因此为了能够更好地给客户提供演示&#xff0c;必然需要搭建一套具有ECSM、SylixOS、linux的环境。 如果通过硬件搭建&#xff0c;一是携带麻烦&#xff0…

表哥推荐python自学书籍:从入门到精通,读这十本书就够了!

前言 人生苦短&#xff0c;我学python。 python编程语言在各种榜单上经常拿到前列位置&#xff0c;在全球范围内都非常受欢迎。 Python作为一种不受局限、跨平台的开源编程语言&#xff0c;其数据处理速度快、功能强大且简单易学。而且&#xff0c;Python采用解释运行的方式…

风电机组的预测性维护应该如何进行?

一、应用背景 风能是最重要的清洁能源之一&#xff0c;大力发展风电等清洁能源是实现国家可持续发展战略的必然选择。发展风电、光伏等新能源的高效运维技术已成为当前电力系统面临的重要问题之一。在风电机组单机容量较大、机组整体结构越来越复杂、各部件之间的耦合也愈加紧…

零基础入门智能射频——偶极子天线等效电路模型分析

1.前言 无人机的安全防范和管控&#xff0c;已经成为无人机行业的重点内容。无人机探测解决方案已经变得非常重要。前面系列文章给出了针对无人机侦察和干扰无人机的天线阵设计&#xff0c;上一期文章中&#xff0c;我们给出一种小型化的无人机侦测天线&#xff0c;每个阵元都…

GIS开发入坑(四)--QGIS导入POI数据并实现简单处理分析

POI数据&#xff0c;英文全称Point of Intersesting&#xff0c;中文的意思是兴趣点&#xff0c;指的是在地图上有意义的点&#xff1a;比如商店、酒吧、加油站、医院、车站等。POI数据能够赋能时空行为、城市规划、地理信息等研究&#xff0c;因此获取准而全的POI数据是开展科…

ChatGPT:你才是编译器!你全家都是编译器!

我是不是再也不需要编译器了&#xff1f;&#xff01;这个故事的灵感来自一个类似的文章&#xff1a;在 ChatGPT 中构建虚拟机。我印象深刻并决定尝试类似的东西&#xff0c;但这次不是 Linux 命令行工具&#xff0c;而是让 ChatGPT 成为我们的 Python 编译器。这是初始化 Chat…

论文投稿指南——中文核心期刊推荐(数学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

如何制作HTML网页设计【体育运动主题网站——中国篮球NBA】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

中文社区面对面|明晚8点,CTO带你上手Jina产品!

文章导读 中文社区面对面是 Jina AI 在今年7月首次推出的栏目&#xff0c;旨在为社区用户提供支持并倾听用户的反馈&#xff0c;以帮助开发者更快速地了解 Jina 生态&#xff0c;更轻松地构建和部署自己的多模态应用&#xff0c;同时也帮助我们更好地提升产品的使用体验。第五期…

【Python机器学习】全连接层与非线性回归、防止过拟合方法的讲解及实战( 附源码)

需要全部代码请点赞关注收藏后评论区留言私信&#xff5e;&#xff5e;&#xff5e; 全连接层与非线性回归 基于全连接层构建的多层神经网络能够用来完成回归和分类人物&#xff0c;在神经网络中一般用下图所示画法来表示神经元模型&#xff0c;神经元由输入层和输出层组成&am…

SPI协议详解

SPI协议详解前言一、SPI简介二、接口三、SPI总线个特点&#xff1a;&#xff08;一&#xff09;主从模式&#xff08;二&#xff09;同步传输&#xff08;三&#xff09;全双工串行通信&#xff08;数据传输高位在前&#xff0c;低位在后&#xff09;四、SPI总线传输的4种模式&…