分类预测 | MATLAB实现CNN卷积神经网络多特征分类预测
目录
- 分类预测 | MATLAB实现CNN卷积神经网络多特征分类预测
- 分类效果
- 基本介绍
- 程序设计
- 参考资料
- 致谢
分类效果
基本介绍
本文要用到的卷积神经网络(ConvolutionalNeural Network,CNN),主要包含卷积技术以及深度神经网络。区别传统的机器学习,卷积神经网络将特征提取器与机器学习有机的结合了起来。
卷积神经网络处理的数据形式,具有局部与整体的关系,并且由低层次特征组合可以形成高层次的特征,还能得到不同特征间的空间相关性。
- 1.Matlab实现CNN卷积神经网络多特征分类预测,运行环境Matlab2018b及以上;
- 2.命令窗口输出分类准确率。
- 3.输入15个特征,输出4类标签。
程序设计
- 完整源码和数据:CNN卷积神经网络多特征分类预测
[YValPred,probs] = classify(trainedNet,XValidation);
validationError = mean(YValPred ~= YValidation);
YTrainPred = classify(trainedNet,XTrain);
trainError = mean(YTrainPred ~= YTrain);
disp("Training error: " + trainError*100 + "%")
%Training error: 2.862%
disp("Validation error: " + validationError*100 + "%")
%Validation error: 9.76%
figure('Units','normalized','Position',[0.2 0.2 0.4 0.4]);
cm = confusionchart(YValidation,YValPred);
cm.Title = 'Confusion Matrix for Validation Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';
figure
idx = randperm(size(XValidation,4),9);
for i = 1:numel(idx)
subplot(3,3,i)
imshow(XValidation(:,:,:,idx(i)));
prob = num2str(100*max(probs(idx(i),:)),3);
predClass = char(YValPred(idx(i)));
title([predClass,', ',prob,'%'])
end
参考资料
[1] https://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf
致谢
- 欢迎一起学习,一起进步!