分类预测 | Matlab实现DBO-CNN-SVM蜣螂算法优化卷积神经网络结合支持向量机多特征分类预测

发布于:2024-05-14 ⋅ 阅读:(118) ⋅ 点赞:(0)

分类预测 | Matlab实现DBO-CNN-SVM蜣螂算法优化卷积神经网络结合支持向量机多特征分类预测

分类效果

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

在这里插入图片描述

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

基本描述

1.Matlab实现DBO-CNN-SVM蜣螂算法优化卷积神经网络结合支持向量机多特征分类预测(完整源码和数据)
2.优化参数为:学习率,批量处理大小,正则化参数。
3.图很多,包括分类效果图,混淆矩阵图。
4.附赠案例数据可直接运行main一键出图~
注意程序和数据放在一个文件夹,运行环境为Matlab2020及以上。
5.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
6.输入多个特征,分四类。

程序设计

%%  参数设置
options = trainingOptions('sgdm', ...     % SGDM 梯度下降算法
    'MiniBatchSize', best_hd,...          % 批大小,每次训练样本个数30
    'MaxEpochs', 20,...                   % 最大训练次数 500
    'InitialLearnRate', best_lr,...       % 初始学习率为0.01
    'LearnRateSchedule', 'piecewise',...  % 学习率下降
    'LearnRateDropFactor', 0.1,...        % 学习率下降因子 0.1
    'LearnRateDropPeriod', 10,...         % 经过训练后 学习率为 0.01*0.1
    'Shuffle', 'every-epoch',...          % 每次训练打乱数据集
    'L2Regularization', best_l2, ...      % L2正则化参数
    'Plots', 'none',...      % 画出曲线
    'Verbose', 1);

%%  训练模型
net = trainNetwork(p_train, t_train, layers, options);
inputSize = net.Layers(1).InputSize;

%% 数据处理
train =  p_train;

%% 提取高维特征

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229