分类预测 | MATLAB实现EVO-CNN多输入分类预测

分类预测 | MATLAB实现EVO-CNN多输入分类预测

目录

预测效果




基本介绍

1.MATLAB实现EVO-CNN多输入分类预测

2.代码说明:量谷优化卷积神经网络的数据分类预测:要求于Matlab 2021版及以上版本。

特点:

多行变量特征输入,优化了学习率、卷积核大小及卷积核个数等,方便增加维度优化其它参数。能量谷优化算法(Energy valley optimizer,EVO)是MahdiAzizi等人于2023年提出的一种新颖的元启发式算法,其灵感来自关于稳定性和不同粒子衰变模式的物理原理。

程序设计

  • 完整程序和数据获取方式1:同等价值程序兑换;
  • 完整程序和数据获取方式2:私信博主回复 MATLAB实现EVO-CNN多输入分类预测获取。
clike 复制代码
%%  划分训练集和测试集
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);
%%  个体极值和群体极值
[fitnesszbest, bestindex] = min(fitness);
zbest = pop(bestindex, :);     % 全局最佳
gbest = pop;                   % 个体最佳
fitnessgbest = fitness;        % 个体最佳适应度值
BestFit = fitnesszbest;        % 全局最佳适应度值

%%  迭代寻优
for i = 1 : maxgen
    for j = 1 : sizepop
        
        % 速度更新
        V(j, :) = V(j, :) + c1 * rand * (gbest(j, :) - pop(j, :)) + c2 * rand * (zbest - pop(j, :));
        V(j, (V(j, :) > Vmax)) = Vmax;
        V(j, (V(j, :) < Vmin)) = Vmin;
        
        % 种群更新
        pop(j, :) = pop(j, :) + 0.2 * V(j, :);
        pop(j, (pop(j, :) > popmax)) = popmax;
        pop(j, (pop(j, :) < popmin)) = popmin;
        
        % 自适应变异
        pos = unidrnd(numsum);
        if rand > 0.95
            pop(j, pos) = rands(1, 1);
        end
        
        % 适应度值
        fitness(j) = fun(pop(j, :), hiddennum, net, p_train, t_train);

    end
    
    for j = 1 : sizepop

        % 个体最优更新
        if fitness(j) < fitnessgbest(j)
            gbest(j, :) = pop(j, :);
            fitnessgbest(j) = fitness(j);
        end

        % 群体最优更新 
        if fitness(j) < fitnesszbest
            zbest = pop(j, :);
            fitnesszbest = fitness(j);
        end

    end

    BestFit = [BestFit, fitnesszbest];    
end
------------------------------------------------
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/130462492

参考资料

1\] https://blog.csdn.net/kjm13182345320/article/details/129679476?spm=1001.2014.3001.5501 \[2\] https://blog.csdn.net/kjm13182345320/article/details/129659229?spm=1001.2014.3001.5501 \[3\] https://blog.csdn.net/kjm13182345320/article/details/129653829?spm=1001.2014.3001.5501

相关推荐
机器学习之心9 小时前
TCN-Transformer-GRU时间卷积神经网络结合编码器组合门控循环单元多特征分类预测Matlab实现
cnn·gru·transformer
灯火不休时20 小时前
95%准确率!CNN交通标志识别系统开源
人工智能·python·深度学习·神经网络·cnn·tensorflow
zhan1145141 天前
解析平面卷积/pytorch的nn.Conv2d的计算步骤,in_channels与out_channels如何计算而来
人工智能·pytorch·深度学习·cnn·卷积神经网络
文火冰糖的硅基工坊1 天前
[人工智能-大模型-116]:模型层 - 用通俗易懂的语言,阐述离散卷积的神奇功能和背后的物理意义
人工智能·深度学习·cnn
rengang661 天前
13-卷积神经网络(CNN):探讨CNN在图像处理中的应用和优势
图像处理·人工智能·深度学习·神经网络·cnn
材料科学研究1 天前
先到先得!深度学习有限元仿真!
深度学习·cnn·abaqus·仿真·有限元
java1234_小锋2 天前
PyTorch2 Python深度学习 - 卷积神经网络(CNN)介绍实例 - 使用MNIST识别手写数字示例
python·深度学习·cnn·pytorch2
大明者省4 天前
案例分析交叉熵和交叉验证区别和联系
人工智能·深度学习·神经网络·计算机视觉·cnn
知识搬运工人4 天前
传统卷积神经网络中的核心运算是卷积或者矩阵乘,请问transformer模型架构主要的计算
矩阵·cnn·transformer
南方的狮子先生4 天前
【深度学习】卷积神经网络(CNN)入门:看图识物不再难!
人工智能·笔记·深度学习·神经网络·机器学习·cnn·1024程序员节