一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶

一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶

文章目录

  • 前言
    • 一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶
  • 一、HKELM模型
      • 1. 极限学习机(ELM)的基础
      • 2. 混合核极限学习机(HKELM)的原理
      • 3. HKELM的流程
      • 4. 优势与挑战
  • 二、实验结果
  • 三、核心代码
  • 四、代码获取
  • 五、总结


前言

一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶

一、HKELM模型

混合核极限学习机(Hybrid Kernel Extreme Learning Machine,HKELM)是一种改进的极限学习机(ELM)模型。它结合了多种核函数的优点,以提高学习性能和模型的泛化能力。以下是HKELM的详细原理和流程:

1. 极限学习机(ELM)的基础

极限学习机(ELM)是一种用于训练单隐层前馈神经网络(SLFN)的算法。ELM的核心思想是:

  • 随机化隐层节点:在训练过程中,隐层节点的权重和偏置是随机生成的,不需要进行训练。
  • 线性回归训练:仅需对输出权重进行训练,从而大大加快了训练速度。

ELM的训练流程包括:

  1. 随机生成隐层节点的权重和偏置。
  2. 计算隐层输出矩阵。
  3. 通过最小二乘法求解输出权重。

2. 混合核极限学习机(HKELM)的原理

HKELM在ELM的基础上引入了多种核函数,以提高模型的灵活性和性能。其基本思想是:

  • 混合核函数:HKELM将多个核函数组合在一起,形成一个复合核,以更好地拟合复杂的数据分布。
  • 优化学习性能:通过选择适当的核函数组合,HKELM能够提高模型的泛化能力和学习性能。

3. HKELM的流程

HKELM的流程可以分为以下几个步骤:

  1. 选择混合核函数

    • 选择适当的核函数(如线性核、径向基核、多项式核等),并定义它们的权重。
    • 核函数的选择和组合可以根据具体任务和数据集的特性来决定。
  2. 计算混合核矩阵

    • 计算每个核函数在训练数据上的核矩阵。
    • 使用加权方式将这些核矩阵合成一个混合核矩阵。
  3. 隐层输出矩阵计算

    • 使用混合核函数对输入数据进行映射,得到隐层输出矩阵。
  4. 训练输出权重

    • 利用隐层输出矩阵和目标输出,通过最小二乘法或其他优化方法求解输出权重。
  5. 预测与评估

    • 将测试数据输入到训练好的模型中,进行预测。
    • 对模型进行性能评估,如计算预测误差或准确率等指标。

4. 优势与挑战

优势

  • 更强的建模能力:混合核函数可以捕捉数据中的更复杂模式,提升模型的表现。
  • 灵活性高:可以根据不同的数据集和任务选择不同的核函数组合。

挑战

  • 核函数选择:选择合适的核函数和权重需要一定的经验和调优。
  • 计算复杂度:混合核的计算可能会增加模型的训练和预测时间,特别是在处理大规模数据时。

HKELM通过引入多种核函数的组合,试图在保留ELM优点的同时克服其在处理复杂数据时的不足。这使得HKELM在许多实际应用中表现出较强的性能。

二、实验结果

1.88个智能优化算法清单在这里插入图片描述

2.程序内容和执行步骤

main_HKELM.m实现了88个优化算法对HKELM进行优化

HKELM.m实现了基本版本HKELM

两篇参考文献有详细的HKELM混合核极限学习机的原理 可以参考写

算法目录则是88个优化算法
在这里插入图片描述

更改红色框的“HO”修改成对应优化算法简称即可

[Bestscore, Bestpos, curve] = HO(pop, Max_iteration, lb, ub, dim, fun); %%河马优化算法

[Bestscore, Bestpos, curve] = ZOA(pop, Max_iteration, lb, ub, dim, fun); %%斑马优化算法

在这里插入图片描述

3.部分实验结果

河马优化算法HKELM

在这里插入图片描述

斑马优化算法HKELM

在这里插入图片描述

4.实验数据

在这里插入图片描述

三、核心代码


%%  添加路径
addpath('toolbox\')%%  导入数据
res = xlsread('数据集.xlsx');
rand('state',0); %随机种子   %%  数据分析
num_size = 0.7;                              % 训练集占数据集比例
outdim = 1;                                  % 最后一列为输出
num_samples = size(res, 1);                  % 样本个数
res = res(randperm(num_samples), :);         % 打乱数据集(不希望打乱时,注释该行)
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);%% 获取最优正则化系数 C 和核函数参数 S 
Kernel_type1 = 'rbf'; %核函数类型1
Kernel_type2 = 'poly'; %核函数类型2%% 优化算法参数设置
fun = @getObjValue;             % 目标函数                 
pop=5;                          % 种群数
Max_iteration=20;               % 最大迭代次数
ub=[5 5 5 5 0.5];               % 优化的参量分别为:正则化系数C,rbf核函数的核系数S(接下)
lb=[1 0.01 0.01 1 0.1];         % 多项式核函数的两个核系数poly1和poly2,以及核权重系数w
dim=5;                          % 维度%%  优化算法 仅需修改一行即可
% AFT  阿里巴巴与四十大盗算法2021 
% AHA  人工蜂鸟算法2021
% ALO  蚁狮优化算法2015
% AOA  阿基米德优化算法2020
% AROA 吸引-排斥优化算法2024
% AVOA 非洲秃鹫优化算法2021
% BKA  黑翅鸢优化算法2024
% BWOA 黑寡妇优化算法
% BOA 蝴蝶优化算法2019
% C_PSO 横向交叉PSO优化算法 
% CDO 切诺贝利灾难优化算法2023
% CGO 混沌博弈优化算法2020
% ChOA 黑猩猩优化算法2020
% COA  小龙虾优化算法2023
% COOT 白骨顶鸡优化算法2021
% CPO 冠豪猪优化算法2024
% CJAYA Jaya优化算法2016
% CSA  合作优化算法2021
% DA  蜻蜓优化算法2016
% DBO 蜣螂优化算法2022
% DCS 差异创意搜索优化算法2024
% DMOA 侏儒猫鼬优化算法2022
% DOA 野狗优化算法2021
% EWOA 增强型鲸鱼优化算法
% EO 平衡优化算法2020
% EVO 能量谷优化算法2023
% FDA 法医调查优化算法2020
% FOX 狐狸有护士算法2022
% FSA 火烈鸟搜索算法2021
% GA 遗传优化算法1962
% GAO 巨型犰狳优化算法2023
% GAPSO 遗传粒子群优化算法
% GCRA 蔗鼠优化算法2024
% GEO 金鹰优化算法2020
% GJO 金豺优化算法2022
% GO_It 增长优化算法2023
% GO_FEs 增长优化算法2023
% GoldSA 黄金正弦算法2017
% GOOSE 鹅优化算法2024
% GRO 淘金优化器2023
% GTO 珍鲹优化算法2022
% GWO 灰狼优化算法2014
% HO 河马优化算法2024
% HHO 哈里斯鹰优化算法2019
% HGS 饥饿游戏搜索优化算法2020
% JS 水母搜索算法2020
% JSOA 跳蜘蛛优化算法2021
% KOA 开普勒优化算法2023
% LEA 爱情进化算法2024
% LPO 肺功能优化算法2024
% MFO 飞蛾扑火优化算法2015
% MGO 山岭羊优化算法2022
% MPA 海洋捕食者算法2020
% MVO 多元宇宙优化算法2016
% NGO 北方苍鹰优化算法2022
% NRBO 牛顿-拉夫逊优化算法2024
% O_RIME 横向交叉霜冰优化算法2023
% PO 鹦鹉优化算法2024
% POA 鹈鹕优化算法2022
% PSA PID搜索优化算法2024
% PSO 粒子群优化算法1995
% RBMO 红嘴蓝鹊优化算法2024
% RIME 霜冰优化算法2023
% RUN 龙格库塔优化算法2021
% SA 模拟退火算法1983
% SAO 雪消融优化算法2023
% SABO 减法平均优化算法2023
% SCA 正余弦优化算法2016
% SFO 旗鱼优化算法2019
% SHO 海马优化算法2022
% SMA 黏菌优化算法2020
% SO 蛇算法优化算法2022
% SS(SSA) 樽海鞘优化算法2017
% SSA 麻雀优化算法2020
% WHO 野马优化算法2021
% WOA 鲸鱼优化算法2016
% WSO 白鲨优化算法2022
% ZOA 斑马优化算法2022
%% 仅需要把优化算法的名称进行修改即可  此处是
% [Best_score, Best_pos, curve] = HO(pop, Max_iteration, lb, ub, dim, fun); 
[Best_score, Best_pos, curve] = ZOA(pop, Max_iteration, lb, ub, dim, fun); 

四、代码获取

私信即可

五、总结

包括但不限于
优化BP神经网络,深度神经网络DNN,极限学习机ELM,鲁棒极限学习机RELM,核极限学习机KELM,混合核极限学习机HKELM,支持向量机SVR,相关向量机RVM,最小二乘回归PLS,最小二乘支持向量机LSSVM,LightGBM,Xgboost,RBF径向基神经网络,概率神经网络PNN,GRNN,Elman,随机森林RF,卷积神经网络CNN,长短期记忆网络LSTM,BiLSTM,GRU,BiGRU,TCN,BiTCN,CNN-LSTM,TCN-LSTM,BiTCN-BiGRU,LSTM–Attention,VMD–LSTM,PCA–BP等等

用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【exgcd 扩展欧几里得算法】[ABC340F] S = 1 题解

题意 给定 ( X , Y ) (X,Y) (X,Y),其中 X , Y X,Y X,Y 为整数。求整数 A , B A,B A,B 使得由 ( 0 , 0 ) , ( X , Y ) , ( A , B ) (0,0),(X,Y),(A,B) (0,0),(X,Y),(A,B) 三个点构成的三角形面积为 1 1 1。 思路 将 ( X , Y ) , ( A , B ) (X,Y),(A,B) (X,Y)…

DC-3靶机打靶练习!!!!

先开始还是老样子我的思路: 外网渗透 信息收集 我们在发现了靶机的ip以及靶机开放了80端口,然后收集到了cms 然后去访问页面发现了是有登录口的,win10虚拟机进行后台目录扫描,主机进行弱口令爆破,kali在使用msf模块进…

Basic‘ attribute type should not be a container解决方法

在使用Spring Data JPA的时候,实体类中定义一个用List修饰的成员ip,IDEA会提示Basic‘ attribute type should not be a container错误,导致编译不通过。 查阅一些博客和文档说是Spring Data JPA这个框架会把实体类的属性当做是MySQL数据库中…

sql实战

这里写自定义目录标题 sql实战cmseasy daiqile全局污染 RCE限制16字符传入参数限制传入字符7个限制35字符,并过滤所有英文数字 sql实战 cmseasy 1、/lib/admin/admin.php和/lib/admin/tool/front_class.php源代码中发现,可以伪造IP并且传入ishtml1&…

操作符详解(内含二进制与原、反、补码知识点)--还有超详细图解!一看就会!

前言 今天给大家分享一下C语言操作符的详解,但在此之前先铺垫一下二进制和进制转换与原码、反码、补码的知识点,都有详细的图解,也希望这篇文章能对大家有所帮助,大家多多支持呀! 目录 前言 一、二进制和进制转换 1…

虚拟dom-Diff算法

虚拟dom-Diff算法 vue2 diff算法在vue2中就是patch,通过新旧虚拟dom对比,找到最小变化然后进行dom操作 在页面首次渲染的时候会调用一次patch并创建新的vnode,不会进行深层次的比较,然后再组件中数据发生变化的时候,…

QT事件。

目录 事件 鼠标事件 mousePressEvnet mouseMoveEvent 事件过滤 定时器事件 事件 事件分配机制:当某个事件(鼠标、键盘)发生的时候,窗口就会收到这个事件,并且调用相应的事件处理函数,事件处理函数的命名都是以Event结尾的&…

总线学习6--I2C(EEPROM)

鉴于I2C的项目还是很多,所以又多做了一个试验。 1 环境说明 主控还是树莓派Pico。eeprom用的是之前买的AT24C02。 软件环境还是老朋友micropython。 接线是这样接的。 24C02 PinPico PinVCC3.3VGNDGNDSDAGP16SCLGP17 2 代码 代码如下: from machine …

[Python学习日记-5] Python中的注释

[Python学习日记-5] Python中的注释 简介 注释的示例和使用说明 代码注释原则 简介 随着学习的深入。用不了多久,你就可以写上千甚至上万行的复杂代码啦,有些代码你花了很久写出来,但过了些天再回去看,发现竟然看不懂了&#x…

【wsl】wsl + vscode 中使用 typora 打开 markdown 文件

vscode 连接好wsl 使用Open in External App 一个五星好评的插件Open in External App则可以在vscode中用typora打开md文件,不仅如此,还有设定其他应用打开相应的文件,比如chrome打开html。插件食用方法也比较简单,安装后&#…

Linux 软件编程学习第十一天

1.管道: 进程间通信最简单的形式 2.信号: 内核层和用户层通信的一种方式 1.信号类型: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 1…

gitea docker 快捷安装部署

前言 在前一篇博文(什么是 Gitea?)中,我们详细介绍了gitea的功能特性,以及其与其它git服务器之间的特性多维度对比。 在本文中,我们将详细介绍gitea的快捷安装部署,docker方式! 1…

Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例

文章目录 4、查看或管理磁盘分区-fdisk格式选项示例 4、示例:使用 fdisk 命令创建分区需求操作步骤 5、创建文件系统-mkfs格式常用选项示例创建其他类型的文件系统 6、创建文件系统-mkswap格式常用选项示例拓展:关闭和启用交换分区拓展:swap分…

Visual Studio Code搭建VUE开发环境

Vue.js 是一款易学易用,性能出色,适用场景丰富的 Web 前端框架。它基于标准 HTML、CSS 和 JavaScript 构建,提供容易上手的 API 和一流的文档。可以用来开启PC网页、移动端网页页面、小程序等等 实验环境 VS Code 1.88.1Node 20.16.0Vue3.2…

趋动科技联合超聚变,让超融合彻底释放算力潜能

近日,趋动科技联合超聚变推出基于FusionOne HCI超融合的AI算力资源池化解决方案。该方案基于业内领先的AI算力资源池化技术,实现智能调度、异构算力融合管理等功能,让客户能够低成本获取AI算力,便捷使用AI算力,加速AI业…

AI学习记录 - transformer的Embedding层

创作不易,免费的赞 前面有介绍了GPT2如何进行token化的过程,现在讲下transformer的Embedding层 Embedding层就是一个巨大的矩阵,边长分别是词汇表长度和词向量维度,矩阵里面的每一个数字都是一个随机初始化的,或者是…

TinyWebserver的复现与改进(1):服务器环境的搭建与测试

计划开一个新坑, 主要是复现qinguoyi/TinyWebServer项目,并且使用其它模块提升性能。 本文开发服务器配置:腾讯云轻量级服务器,CPU - 2核 内存 - 2GB,操作系统 Ubuntu Server 18.04.1 LTS 64bit 打开端口 需要打开服务器3306、80…

常见硬件工程师面试题(四)

大家好,我是山羊君Goat。 对于硬件工程师,学习的东西主要和电路硬件相关,所以在硬件工程师的面试中,对于经验是十分看重的,像PCB设计,电路设计原理,模拟电路,数字电路等等相关的知识…

DriftingBlues2靶机渗透测试

DriftingBlues2靶机 文章目录 DriftingBlues2靶机信息收集FTP渗透web渗透权限提升靶机总结 信息收集 nmap扫描得到21,22和80端口,其中21ftp协议可以使用匿名用户登录 使用目录扫描一下网站,得到了blog目录 FTP渗透 匿名用户登录进去,发现…

WPF篇(8)- Button按钮

1. 用法解析 Button因为继承了ButtonBase&#xff0c;而ButtonBase又继承了ContentControl&#xff0c;所以&#xff0c;Button可以通过设置Content属性来设置要显示的内容。例如 <Button Content"确定"/>我们使用Button的时机&#xff0c;通常是鼠标点击事件…