1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y5qbmZxr
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
卷积神经网络整体架构: 卷积神经网络是一种多层的监督学习神经网络,隐含层的卷积层和池采样层是实现卷积神经网络特征提取功能的核心模块。该网络模型通过采用梯度下降法最小化损失函数对网络中的权重参数逐层反向调节,通过频繁的迭代训练提高网络的精度。卷积神经网络的低隐层是由卷积层和最大池采样层交替组成,高层是全连接层对应传统多层感知器的隐含层和逻辑回归分类器。第一个全连接层的输入是由卷积层和子采样层进行特征提取得到的特征图像。最后一层输出层是一个分类器,可以采用逻辑回归,Softmax回归甚至是支持向量机对输入图像进行分类。
4.部分源码
...........................
%划分数据为训练集合验证集,训练集中每个类别包含1张图像,验证集包含其余图像的标签
numTrainFiles = 4;%设置每个类别的训练个数
[imdsTrain, imdsValidation] = splitEachLabel(imds, numTrainFiles, 'randomize');
%定义卷积神经网络的基础结构
layers = [
imageInputLayer([400 150 1]);%注意,400,150为能量图的大小,不能改
convolution2dLayer(3, 8, 'Padding', 'same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2, 'Stride', 2)
convolution2dLayer(3, 16, 'padding', 'same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2, 'Stride', 2)
convolution2dLayer(3, 8, 'Padding', 'same')
batchNormalizationLayer
reluLayer
fullyConnectedLayer(5)
softmaxLayer
classificationLayer];
%设置训练参数
options = trainingOptions('sgdm', ...
'InitialLearnRate', 0.01, ...
'MaxEpochs', 1000, ...
'Shuffle', 'every-epoch', ...
'ValidationData', imdsValidation, ...
'ValidationFrequency', 10, ...
'Verbose', false, ...
'Plots', 'training-progress');
%使用训练集训练网络
net = trainNetwork(imdsTrain, layers, options);
.................................
A148