【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天前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
2天前
|
机器学习/深度学习 JSON PyTorch
图神经网络入门示例:使用PyTorch Geometric 进行节点分类
本文介绍了如何使用PyTorch处理同构图数据进行节点分类。首先,数据集来自Facebook Large Page-Page Network,包含22,470个页面,分为四类,具有不同大小的特征向量。为训练神经网络,需创建PyTorch Data对象,涉及读取CSV和JSON文件,处理不一致的特征向量大小并进行归一化。接着,加载边数据以构建图。通过`Data`对象创建同构图,之后数据被分为70%训练集和30%测试集。训练了两种模型:MLP和GCN。GCN在测试集上实现了80%的准确率,优于MLP的46%,展示了利用图信息的优势。
9 1
|
4天前
|
机器学习/深度学习 并行计算 算法
MATLAB|【免费】概率神经网络的分类预测--基于PNN的变压器故障诊断
MATLAB|【免费】概率神经网络的分类预测--基于PNN的变压器故障诊断
|
4天前
|
数据采集 自然语言处理 算法
疾病关联网络构建及并发症预测模型
疾病关联网络构建及并发症预测模型
|
4天前
|
机器学习/深度学习 PyTorch 算法框架/工具
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化
Python用GAN生成对抗性神经网络判别模型拟合多维数组、分类识别手写数字图像可视化
|
4天前
|
机器学习/深度学习 安全 算法
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
|
2天前
|
运维 网络协议 Linux
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
|
4天前
|
网络协议 Linux 网络架构
|
4天前
|
域名解析 网络协议 Linux
linux网络配置详解
linux网络配置详解
23 0

热门文章

最新文章