分类预测 | MATLAB实现PSO-CNN粒子群算法优化卷积神经网络数据分类预测
目录
分类效果
基本描述
1.Matlab实现PSO-CNN多特征分类预测,多特征输入模型,运行环境Matlab2018b及以上;
2.基于粒子群算法(PSO)优化卷积神经网络(CNN)分类预测,优化参数为,学习率,批处理,正则化参数;
3.多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用;
程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图;
4.data为数据集,输入12个特征,分四类;main为主程序,其余为函数文件,无需运行,可在下载区获取数据和程序内容。
程序设计
- 完整程序和数据获取方式1:私信博主,同等价值程序兑换;
- 完整程序和数据下载方式2(资源处直接下载):MATLAB实现PSO-CNN粒子群算法优化卷积神经网络数据分类预测
clike
%% 优化算法参数设置
SearchAgents_no = 3; % 数量
Max_iteration = 5; % 最大迭代次数
dim = 3; % 优化参数个数
%% 建立模型
lgraph = [
convolution2dLayer([1, 1], 32) % 卷积核大小 3*1 生成32张特征图
batchNormalizationLayer % 批归一化层
reluLayer % Relu激活层
dropoutLayer(0.2) % Dropout层
fullyConnectedLayer(num_class, "Name", "fc") % 全连接层
softmaxLayer("Name", "softmax") % softmax激活层
classificationLayer("Name", "classification")]; % 分类层
%% 参数设置
options = trainingOptions('adam', ... % Adam 梯度下降算法
'MaxEpochs', 10,... % 最大训练次数
'MiniBatchSize',best_hd, ...
'InitialLearnRate', best_lr,... % 初始学习率为0.001
'L2Regularization', best_l2,... % L2正则化参数
'LearnRateSchedule', 'piecewise',... % 学习率下降
'LearnRateDropFactor', 0.1,... % 学习率下降因子 0.1
'LearnRateDropPeriod', 400,... % 经过800次训练后 学习率
%% 训练
net = trainNetwork(p_train, t_train, lgraph, options);
%% 预测
t_sim1 = predict(net, p_train);
t_sim2 = predict(net, p_test );
参考资料
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229