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

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

目录

预测效果




基本介绍

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

2.代码说明:基于登山队优化算法(MTBO)、卷积神经网络(CNN)的数据分类预测程序。

程序平台:要求于Matlab 2021版及以上版本。

特点:

通过登山队优化算法优化学习率、卷积核大小、卷积核个数,这3个关键参数,以测试集精度最高为目标函数。绘制:损失、精度迭代变化图;测试对比散点图、混淆矩阵图;适应度曲线(若首轮精度最高,则适应度曲线为水平直线)。展示:精确度、召回率、精确率、F1分数等评价指标。可直接替换数据,使用EXCEL表格导入,无需大幅修改程序。代码内部有详细注释,便于理解程序运行。

登山队优化算法(Mountaineering Team-Based Optimization,MTBO)是由Faridmehr于2023年3月提出来的。该算法基于人类行为协调的智力和环境进化。登山队由多名登山者组成,领队经验丰富且专业,其目标是征服该地区的山顶,山顶被认为是优化问题的最终全局解。

程序设计

  • 完整程序和数据获取方式1:同等价值程序兑换;
  • 完整程序和数据获取方式2:私信博主回复 MATLAB实现MTBO-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

相关推荐
阿_旭2 小时前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~2 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
就是求关注17 小时前
基于深度卷积神经网络(CNN)模型的图像着色研究与应用系统实现
cnn·图像着色·照片着色·基于深度学习的图像着色·基于cnn的图像着色
风走茶未凉21 小时前
转置卷积与全卷积网络FCN在语义分割中的应用
网络·深度学习·cnn
Just Jump2 天前
机器翻译基础与模型 之二: 基于CNN的模型
人工智能·cnn·机器翻译
蓝博AI2 天前
基于卷积神经网络的皮肤病识别系统(pytorch框架,python源码,GUI界面,前端界面)
pytorch·python·cnn
_Li.3 天前
Matlab深度学习(四)——AlexNet卷积神经网络
人工智能·深度学习·cnn
C7211BA4 天前
卷积神经网络 (CNN)
人工智能·神经网络·cnn
拓端研究室TRL5 天前
MATLAB用CNN-LSTM神经网络的语音情感分类深度学习研究
深度学习·神经网络·matlab·cnn·lstm
蓝博AI5 天前
基于卷积神经网络的农作物病虫害识别与防治系统,vgg16,resnet,swintransformer,模型融合(pytorch框架,python代码)
pytorch·python·cnn