一区大黄蜂!人工蜂群算法优化!ABC-CNN-LSTM-MATT多特征分类预测

news2024/11/23 15:25:39

一区大黄蜂!人工蜂群算法优化!ABC-CNN-LSTM-MATT多特征分类预测

目录

    • 一区大黄蜂!人工蜂群算法优化!ABC-CNN-LSTM-MATT多特征分类预测
      • 分类效果
      • 基本介绍
      • 程序设计
      • 参考资料

分类效果

在这里插入图片描述

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

基本介绍

1.Matlab实现ABC-CNN-LSTM-MATT人工蜂群算法优化卷积神经网络-长短期记忆神经网络融合多头注意力机制多特征分类预测,ABC-CNN-LSTM-Multihead-Attention;

多头自注意力层 (Multihead-Self-Attention):Multihead-Self-Attention多头注意力机制是一种用于模型关注输入序列中不同位置相关性的机制。它通过计算每个位置与其他位置之间的注意力权重,进而对输入序列进行加权求和。注意力能够帮助模型在处理序列数据时,对不同位置的信息进行适当的加权,从而更好地捕捉序列中的关键信息。
2.数据输入12个特征,输出4个类别,main.m是主程序,其余为函数文件,无需运行;

3.优化参数为:学习率,隐含层节点,正则化参数;

4.可视化展示分类准确率;

5.运行环境matlab2023b及以上。

在这里插入图片描述
文献链接:https://link.springer.com/chapter/10.1007/978-3-540-72950-1_77

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式私信博主回复Matlab实现TTAO-CNN-LSTM-MATT多特征分类预测




%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  读取数据
res = xlsread('data.xlsx');

%%  分析数据
num_class = length(unique(res(:, end)));  % 类别数(Excel最后一列放类别)
num_dim = size(res, 2) - 1;               % 特征维度
num_res = size(res, 1);                   % 样本数(每一行,是一个样本)
num_size = 0.7;                           % 训练集占数据集的比例
res = res(randperm(num_res), :);          % 打乱数据集(不打乱数据时,注释该行)
flag_conusion = 1;                        % 标志位为1,打开混淆矩阵(要求2018版本及以上)

%%  设置变量存储数据
P_train = []; P_test = [];
T_train = []; T_test = [];

%%  划分数据集
for i = 1 : num_class
    mid_res = res((res(:, end) == i), :);           % 循环取出不同类别的样本
    mid_size = size(mid_res, 1);                    % 得到不同类别样本个数
    mid_tiran = round(num_size * mid_size);         % 得到该类别的训练样本个数

    P_train = [P_train; mid_res(1: mid_tiran, 1: end - 1)];       % 训练集输入
    T_train = [T_train; mid_res(1: mid_tiran, end)];              % 训练集输出

    P_test  = [P_test; mid_res(mid_tiran + 1: end, 1: end - 1)];  % 测试集输入
    T_test  = [T_test; mid_res(mid_tiran + 1: end, end)];         % 测试集输出
end

%%  数据转置
P_train = P_train'; P_test = P_test';
T_train = T_train'; T_test = T_test';

%%  得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);

%%  数据归一化
[P_train, ps_input] = mapminmax(P_train, 0, 1);
P_test  = mapminmax('apply', P_test, ps_input);

t_train =  categorical(T_train)';
t_test  =  categorical(T_test )';

%%  数据平铺
%   将数据平铺成1维数据只是一种处理方式
%   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
%   但是应该始终和输入层数据结构保持一致
P_train =  double(reshape(P_train, num_dim, 1, 1, M));
P_test  =  double(reshape(P_test , num_dim, 1, 1, N));

%%  数据格式转换
for i = 1 : M
    p_train{i, 1} = P_train(:, :, 1, i);
end

for i = 1 : N
    p_test{i, 1}  = P_test( :, :, 1, i);
end
%%  优化算法参数设置
SearchAgents_no = 8;                   % 数量
Max_iteration = 10;                    % 最大迭代次数
dim = 3;                               % 优化参数个数
lb = [1e-3,10 1e-4];                  % 参数取值下界(学习率,隐藏层节点,正则化系数)
ub = [1e-2, 30,1e-1];                 % 参数取值上界(学习率,隐藏层节点,正则化系数)

参考资料

[1] https://blog.csdn.net/kjm13182345320/category_11799242.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/124571691

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

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

相关文章

c++关于内存的知识点上速成

温馨提示:本篇文章的内容涉及的是c内存的管理方式 c内存管理的方式 new的使用方式 类型 对象名 new 类型 注意:如果对象名前面的类型有星号,后面的类型(new后面的)不需要星号 样例: delete的使用方…

VMDK 0X80BB0005 VirtualBOX虚拟机错误处理-数据恢复——未来之窗数据恢复

打开虚拟盘文件in7.vmdk 失败. Could not get the storage format of the medium 7\win7.vmdk (VERR_NOT_SUPPORTED). 返回 代码:VBOX_E_IPRT_ERROR (0X80BB0005) 组件:MediumWrap 界面:IMedium {a a3f2dfb1} 被召者:IVirtualBox {768 cd607} 被召者 RC:VBOX_E_OBJECT_NOT_F…

生成式专题的第四节课--CycleGAN

CycleGAN(Cycle-Consistent Generative Adversarial Network,循环生成对抗网络)是一种用于无监督图像转换的深度学习模型,即一种用于图像到图像转换任务的生成对抗网络(GAN)的变体,它可以在没有…

团标大数据(2024年09月)

一、总体数据 截至2024年09月30日,共有8240家社会团体在全国团体标准信息平台注册,其中民政部登记注册的有973家,地方民政部门登记注册的有7267家。社会团体在平台共计公布89857项团体标准,其中民政部登记注册的社会团体公布3603…

点云数据与多相机图像融合实现3D场景的彩色可视化

引言 在现代3D计算机视觉和机器人感知领域,点云数据和图像信息的融合正变得越来越重要。点云数据提供了精确的几何结构,而图像则包含了丰富的颜色和纹理细节。将这两种数据源结合起来,我们能够创建更加逼真和信息丰富的3D场景表示。本文将深…

【C++】拆分详解 - vector

文章目录 一、vector的介绍二、vector的使用1. 构造2. 迭代器3. vector 空间增长问题4. 增删查改5. vector 迭代器失效问题5.1 底层空间改变(扩容、缩容)5.2 指定位置元素的删除操作5.3 Linux与VS平台差异 三、vector 模拟实现0. 整体框架1. 构造 / 析构…

4个方法教你快速取消Word文档底色

在使用Word编辑文档时,我们有时会遇到文字或段落带有不必要的底色,这不仅影响文档的美观,还可能干扰阅读。那么,如何轻松去除这些底色呢?以下是几种实用的方法: 方法1:使用底纹功能键 首先&…

点可云ERP进销存V8版本——其他收入单使用说明进

其他收入单用于记录除销售内容外其他收入资金,如:废品出售、安装维修服务等。新增保存之后,对应资金账户将增加金额额度,并做存储记录,可在现金银行报表中体现。 新增操作 接下来我们讲解新增单据步骤。如上图所示&am…

怎样设置Windows系统不会自动同步时间

一、背景 我们在进行测试一些软件的时候需要调整Windows系统的时间到指定的日期,并且希望这个手动调整的日期可以固定住不变,不希望电脑重启后恢复到当前的最新日期。 二、操作方法 注意:如下的操作方法是以Windows7系统为例进行演示说明: 1、选中右下角的日期然后点击鼠…

C++笔记---红黑树的插入删除

1. 红黑树的概念 红黑树是一棵二叉搜索树,他的每个结点增加一个存储位来表示结点的颜色,可以是红色或者黑色。 通过对任何一条从根到叶子的路径上各个结点的颜色进行约束,红黑树确保对于任意一个结点,没有一条到NULL结点的路径会…

【C++算法】9.滑动窗口_长度最小的子数组

文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: 209. 长度最小的子数组 题目描述: 解法 解法一:暴力求解(会超时) 暴力枚举出所有子数组的和。 查找子数组n2&#xff0…

【hot100-java】K 个一组翻转链表

链表篇 参考题解 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ …

文件传输遗漏

查看失败的 Failed to transfer file ‘E:\m3dmpre\datasets\mvtec3d\foam\train\good\xyz\184.tiff’. Could not close the output stream for file “sftp://172.29.6.20/home/cszx/zgp/datasets/mvtec3d/foam/train/good/xyz/184.tiff”. 将faild的全部重传一遍

知识二: 马尔科夫决策过程

强化学习从入门到精通(马尔科夫决策过程)(7天入门强化学习) 知识二:马尔科夫决策过程 先介绍马尔可夫过程(Markov process)以及马尔可夫奖励过程(Markov reward process&#xff0…

matlab不小心删除怎么撤回

预设项——>删除文件——>移动至临时文件夹 tem临时文件夹下

中级软考-软件设计师重要性与含金量以及就业方向(文末分享考试真题与笔记)

中级软考软件设计师在中国IT行业中具有重要的地位和高含金量,特别是在以下几个方面: 重要性与含金量 职业认可:该证书是国家认可的,证明持证人具备一定的软件设计和开发能力,对求职者在招聘市场上具有较强的竞争力。 …

如何在 iPad 上恢复已删除的历史记录?

iPad 配备了一个名为 Safari 的内置网络浏览器。这是一种在旅途中保持联系和浏览网页的强大且便捷的方式。但如果您不小心删除了浏览历史记录,则尝试恢复它可能会很令人沮丧。 幸运的是,您可以通过多种方法在 iPad 上恢复已删除的 Safari 历史记录。您应…

匹配全国地址的正则表达式工具类

正则表达式,匹配全国五级地址工具类,可以直接放在项目中使用~ 1级:国 (可忽略不填) 2级:**省、**自治区、**直辖市、**特别行政区、(四个直辖市可忽略不填) 3级:**市、**…

低代码和零代码开发方式如何改变软件开发行业?

低代码和零代码开发方式如何改变软件开发行业? 随着技术的进步和数字化转型的加速,软件开发行业正在经历一场革命。在这场革命中,低代码和零代码平台正逐渐成为企业开发应用的重要工具。它们以其简单易用的特性,极大地降低了软件…

面试笔记-js基础篇

1、因为在 JS 的最初版本中,使用的是 32 位系统,为了性能考虑使用低位存储了变量的类型信息,000 开头代表是对象,然而 null 表示为全零,所以将它错误的判断为 object 。虽然现在的内部类型判断代码已经改变了&#xff…