JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测

JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测

目录

    • JCR一区 | Matlab实现TTAO-CNN-BiLSTM-MATT多特征分类预测
      • 分类效果
      • 基本介绍
      • 程序设计
      • 参考资料

分类效果

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

基本介绍

1.Matlab实现TTAO-CNN-BiLSTM-MATT三角拓扑聚合优化器优化双向长短期记忆神经网络融合多头注意力机制多特征分类预测,TTAO-CNN-BiLSTM-Mutilhead-Attention;

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

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

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

5.运行环境matlab2023b及以上。

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

程序设计

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



warning off 
clc;
clear 
close all
%% Set the hyper parameters for unet training
options = trainingOptions('adam', ...                 % 优化算法Adam
    'MaxEpochs', 1000, ...                            % 最大训练次数
    'GradientThreshold', 1, ...                       % 梯度阈值
    'InitialLearnRate', 0.001, ...         % 初始学习率
    'LearnRateSchedule', 'piecewise', ...             % 学习率调整
    'LearnRateDropPeriod',700, ...                   % 训练100次后开始调整学习率
    'LearnRateDropFactor',0.01, ...                    % 学习率调整因子
    'L2Regularization', 0.001, ...         % 正则化参数
    'ExecutionEnvironment', 'cpu',...                 % 训练环境
    'Verbose', 1, ...                                 % 关闭优化过程
    'Plots', 'none');                    % 画出曲线
% % start training
t0 = tic;  %开始计时
[net,info] = trainNetwork(dsTrain, lgraph,options);
toc(t0); % 从t0开始到此处的执行时间
analyzeNetwork(net)
%% Accuracy assessment

pred = classify(net, dsTest);

accuracy=sum(test_Y==pred)/length(pred);   %计算预测的确率


function [fbest,Xbest,Convergence_curve]=TTAO(PopSize,T,Low,Up,Dim,fobj)
N=floor(PopSize/3); % Initialize N/3 individuals.
X1=rand(N,Dim).*(Up-Low)+Low;
t=1;
while t<T+1
    %% Formation of triangular topological units
    l=9*exp(-t/T);% The size of a triangular topological unit.
    for i=1:N
        theta=rand(1,Dim)*pi;
        h1=cos(theta);
        h2=cos(theta+pi/3);
        X2(i,:)=X1(i,:)+l*h1;
        X3(i,:)=X1(i,:)+l*h2;
    end
    X2 = max(X2,Low);
    X2 = min(X2,Up);
    X3 = max(X3,Low);
    X3 = min(X3,Up);
    r1=rand;r2=rand;
    X4=r1*X1+r2.*X2+(1-r1-r2)*X3;
    X4 = max(X4,Low);
    X4 = min(X4,Up);
    for i=1:N
        X1_fit(i)=fobj(X1(i,:));
        X2_fit(i)=fobj(X2(i,:));
        X3_fit(i)=fobj(X3(i,:));
        X4_fit(i)=fobj(X4(i,:));
    end
    X=[X1 X2 X3 X4];
    fit=[X1_fit;X2_fit;X3_fit;X4_fit];
    [X_sort,index]=sort(fit);
    %% Find the ptimial point and the suboptimial point in each triangular topological unit.
    for i=1:N
        X_best_1(i,:)=X(i,(index(1,i)-1)*Dim+1:index(1,i)*Dim);
        X_best_2(i,:)=X(i,(index(2,i)-1)*Dim+1:index(2,i)*Dim);
    end
    best_fit_1=X_sort(1,:);
    best_fit_2=X_sort(2,:);
    %% Generic aggregation
    for i=1:N
        r=rand(1,Dim);
        X_new=X_best_1;
        X_new(i,:)=[];
        l1=randi(N-1);
        X_G(i,:)=(r.*X_best_1(i,:)+(ones(1,Dim)-r).*X_new(l1,:));
        X_G(i,:) = max(X_G(i,:),Low);
        X_G(i,:) = min(X_G(i,:),Up);
        X_fit_G(i)=fobj(X_G(i,:));
        if X_fit_G(i)<best_fit_1(i)
            X_best_1(i,:)=X_G(i,:);
            best_fit_1(i)=X_fit_G(i);
        elseif X_fit_G(i)<best_fit_2(i)
            X_best_2(i,:)=X_G(i,:);
        end
    end
    %% Local aggregation
    for i=1:N
        a=(exp(1)-(exp(1))^3)/(T-1);
        b=(exp(1))^3-a;
        alpha=log(a*t+b);
        X_C(i,1:Dim)=X_best_1(i,1:Dim)+alpha*(X_best_1(i,1:Dim)-X_best_2(i,1:Dim));
        X_C(i,:) = max(X_C(i,:),Low);
        X_C(i,:) = min(X_C(i,:),Up);
        X_fit_C(i)=fobj(X_C(i,:));
        if X_fit_C(i)<best_fit_1(i)
            X_best_1(i,:)=X_C(i,:);
            best_fit_1(i)=X_fit_C(i);
        end
    end
    %% 
    N00=PopSize-N*3;
    if N00~=0
        X00=rand(PopSize-N*3,Dim).*(Up-Low)+Low;
        for i=1:N00
            X00_fit=fobj(X00(i,:));
        end
        X_1_0=[X_best_1;X00];
        X_1_0_fit=[best_fit_1,X00_fit];
        [~,index01]=sort(X_1_0_fit);
        X_best_1=X_1_0(index01(1:N),:);
        best_fit_1=X_1_0_fit(index01(1:N));
    end
    X1=X_best_1;
    %% The first N/3 individuals serve as the initial population for the next iteration.
    [~,index1]=min(best_fit_1);
    Xbest=X1(index1,:);
    fbest=best_fit_1(index1);
    Convergence_curve(t)=fbest;
    t = t + 1;
end

参考资料

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

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

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

相关文章

智慧园区能耗管控系统,3D可视化开发都需要哪些技术栈?

数据可视化&#xff1a; 数据可视化是将数据通过图表、图形、地图等可视化方式展示&#xff0c;使得数据更加直观、易于理解和分析。在智慧园区能耗管控系统中&#xff0c;可以使用各种图表库&#xff08;如Echarts、Highcharts&#xff09;和可视化工具&#xff08;如Tableau…

【LeetCode:2391. 收集垃圾的最少总时间 + 二分】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【强化学习-深度强化学习DRL】什么问题可以用DRL解决?条件:场景固定数据廉价

引言&#xff1a;深度强化学习适用于满足场景固定、数据廉价这两个要求的问题求解。本节对场景固定进行详细的论述。术语&#xff1a;深度强化学习&#xff08;DRL&#xff09; 条件一&#xff1a;场景固定&#xff08;两个分布一致&#xff09; 场景固定指的是&#xff0c;保…

美股市场恒生指数冲刺19000点关口 地产股大涨

查查配5月10日电(中新财经记者 谢艺观)5月10日,港股现强势行情,恒生指数盘中一度冲至18993.28点,距离19000点关口仅一步之遥。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投…

HNCTF-PWN

1.ez_pwn 直接看危险函数&#xff0c;不能溢出&#xff0c;只能覆盖ebp。 后面紧接的又是leave,ret 很明显是栈迁移&#xff0c;通过printf打印出ebp&#xff0c;通过偏移计算出栈地址。 通过gdb调试&#xff0c;偏移是0x38 以下是payload&#xff1a; from pwn import * #i…

通过单总线实现单片机之间的数据传输

单总线、没有时钟线的通信时&#xff0c;不能使用简单的高低电平来通信&#xff0c;因为接收方不知道此时发送的数据是第几位数据&#xff0c;容易造成错乱。 因此在使用一根线对外传输数据时&#xff0c;需要自定义一个通信协议&#xff0c;它至少要包含格式头数据&#xff0c…

二维数组 和 变长数组

在上一期的内容中&#xff0c;为诸君讲解到了一维数组&#xff0c;在一维数组的基础上&#xff0c;C语言中还有着多维数组&#xff0c;其中&#xff0c;比较典型且运用较为广泛的就是我们今天的主角——二维数组 一 . 二维数组的概念 我们把单个或者多个元素组成的数组定义为一…

springboot项目打包部署

springboot打包的前提条件jdk必须17以后不然本地运行不来&#xff08;我用的jdk是22&#xff09; 查看自己电脑jdk版本可以参考&#xff08;完美解决Windows10下-更换JDK环境变量后&#xff0c;在cmd下执行仍java -version然出现原来版本的JDK的问题-CSDN博客&#xff09; 1、…

uniapp音乐播放整理

一、前置知识点 1.1 音频组件控制-uni.createInnerAudioContext() 创建并返回内部 audio 上下文 innerAudioContext 对象。 主要用于当前音乐播放&#xff1b; 1.1.1 innerAudioContext属性 属性类型说明只读平台差异说明srcString音频的数据链接&#xff0c;用于直接播放…

学浪app的课程怎么导出来

在这个知识如星辰般璀璨的时代&#xff0c;学浪app汇聚了无数智慧的火花&#xff0c;点亮了求知者的前行之路。你是否曾在学浪的海洋中遨游&#xff0c;汲取知识的甘露&#xff0c;却渴望将那些珍贵的课程内容&#xff0c;如同宝藏一般&#xff0c;从数字的海洋中提取出来&…

PY32F403系列单片机,32位M4内核MCU,主频最高144MHZ

PY32F403系列单片机是基于Arm Cortex-M4核的32位通用微控制器产品。内置的FPU和DSP功能支持浮点运算和全部DSP指令。通过平衡成本&#xff0c;性能&#xff0c;功耗来获得更好的用户体验。 PY32F403单片机典型工作频率可达144MHZ&#xff0c;内置高速存储器&#xff0c;丰富的…

Python-VBA函数之旅-str函数

目录 一、str函数的常见应用场景 二、str函数使用注意事项 三、如何用好str函数&#xff1f; 1、str函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a; https://myelsa1024.blog.csdn.net/ 一、str函数的常…

【C -> Cpp】由C迈向Cpp (5)

标题&#xff1a;【C -> Cpp】由C迈向Cpp&#xff08;5&#xff09; 水墨不写bug &#xff08;图片来源于网络&#xff09; 不抵制失败&#xff0c;携手失败&#xff0c;迈向成功 正文开始&#xff1a; &#xff08;一&#xff09;深入理解构造函数 在之前的讲解中&#x…

安装Ununtu后常见问题(无法远程连接、root密码等)

安装Ununtu后常见问题&#xff08;无法远程连接、root密码、无法ifconfig等&#xff09; 提示&#xff1a;安装完Ununtu系统后会遇到一些常见的问题&#xff0c;本文一次洗解决 文章目录 安装Ununtu后常见问题&#xff08;无法远程连接、root密码、无法ifconfig等&#xff09;一…

Linux(Ubuntu24.04) 安装 MinIO

本文所使用的 Ubuntu 系统版本是 Ubuntu 24.04 ! # 1、下载 MinIO wget https://dl.min.io/server/minio/release/linux-amd64/minio# 2、添加可执行权限 chmod x minio# 3、导出环境变量&#xff0c;用于设置账号密码&#xff0c;我设置的账号和密码都是 minioadmin export MI…

PyQt5中的QtDesigner窗口

文章目录 1. 简介2. QtDesigner的MainWindow2.1 创建MainWindow2.2 添加组件2.3 预览2.4 查看对应的Python代码2.5 保存窗口并命名为login.ui&#xff0c;如下所示2.6对ui文件进行转换得到.py原件 3. 窗口常用属性及说明3.1 设置对象名称3.2 改变标题名字3.3 修改窗口大小 4. 更…

PyCharm 集成 Git

目录 1、配置 Git 忽略文件 2、定位Git 3、使用pycharm本地提交 3.1、初始化本地库 3.2、添加到暂存区 3.3、提交到本地库 3.4、切换版本 4、分支操作 4.1、创建分支 4.2、切换分支 4.3、合并分支 5、解决冲突 1、配置 Git 忽略文件 作用&#xff1a;与项目的实际…

conan2 基础入门(04)-指定编译器(gcc为例)

conan2 基础入门(04)-指定编译器(gcc为例) 文章目录 conan2 基础入门(04)-指定编译器(gcc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conancmake ENDsettings.yml ⭐准备 生成profile文件 # 生成默认profile文件&#xf…

【userfaultfd+条件竞争劫持modprobe_path】TSGCTF 2021 -- lkgit

前言 入门题&#xff0c;单纯就是完成每日一道 kernel pwn 的 kpi &#x1f600; 题目分析 内核版本&#xff1a;v5.10.25&#xff0c;可以使用 userfaultfd&#xff0c;不存在 cg 隔离开启了 smap/smep/kaslr/kpti 保护开启了 SLAB_HADNERN/RANDOM 保护 题目给了源码&…

使用IDA自带python patch的一道例题

首先看见就是迷宫 迷宫解出的路径&#xff0c;放在zip的文件可以得到一个硬编码 然后在原程序中&#xff0c;有一处很离谱 这个debugbreak就是IDA分析错误导致的 我们点进去发现里面全是nop 然后我们把我们得到的硬编码放在010里面&#xff0c;再用IDA打开 重新编译看汇编 你…