【MATLAB第47期】基于MATLAB的多卷积层的卷积神经网络MCNN分类预测模型,含交叉验证,可自定义层数

简介: 【MATLAB第47期】基于MATLAB的多卷积层的卷积神经网络MCNN分类预测模型,含交叉验证,可自定义层数

MATLAB第47期】基于MATLAB的多卷积层的卷积神经网络MCNN分类预测模型,含交叉验证,可自定义层数


一、展示效果


依次对比卷积层数为1/2/3时的分类预测结果

可得出,随着卷积层数量增加,训练集/测试集正确率基本上得到改进。


1.一层CNN



2.二层CNN

3.三层CNN

二、模型参数

%—输入--------------------------------------------------------------

%imgs:特征向量(高度x宽度x通道x实例)
%label:标签矢量(实例x 1)
%kfold:交叉验证次数
%LR:学习率
%nB:小批量数量
%MaxEpochs:最大Epochs数
%FC:完全连接层的数量(类的数量)
%nC:卷积层的数量(最多3个)
%nF1:第一卷积层中的滤波器数量   
%sF1:第一卷积层中滤波器的大小   
%nF2:第二卷积层中的滤波器数量
%sF2:第二卷积层中滤波器的大小
%nF3:第三卷积层中的滤波器数量
%sF3:第三卷积层中滤波器的大小

%—四分类数据-------------------------------------------------

res = xlsread('数据集.xlsx');
%%  划分训练集和测试集
temp = randperm(size(res,1));
imgs1 = res(temp(1: size(res,1)), 1: 12)';
label = res(temp(1: size(res,1)), 13)';
%—输出-------------------------------------------------------------

%—输出-------------------------------------------------------------

%包含以下7个结果的结构:
%训练集平均准确率、最小准确率、最大准确率
%测试集平均准确率、最小准确率、最大准确率
%计算时间(s)
%—CNN结构参数------------------------------------------------

%—CNN结构参数------------------------------------------------

options = trainingOptions('adam', ...      % Adam 梯度下降算法
    'MaxEpochs', 500, ...                  % 最大训练次数 500
    'InitialLearnRate', 1e-3, ...          % 初始学习率为0.001
    'L2Regularization', 1e-04, ...         % L2正则化参数
    'LearnRateSchedule', 'piecewise', ...  % 学习率下降
    'LearnRateDropFactor', 0.5, ...        % 学习率下降因子 0.1
    'LearnRateDropPeriod', 450, ...        % 经过450次训练后 学习率为 0.001 * 0.5
    'Shuffle', 'every-epoch', ...          % 每次训练打乱数据集
    'ValidationPatience', Inf, ...         % 关闭验证
    'Plots', 'none', ...      % 画出曲线training-progress
    'Verbose', 1);

三、代码获取


后台私信回复“47期”即可获取下载链接。

相关文章
|
2月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
274 0
|
19天前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
146 0
|
2月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
155 2
|
2月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
19天前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
|
19天前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
19天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
109 0
|
19天前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
|
19天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
104 8
|
19天前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)