clc
clear
close all
%% Read
% x111, 112 the ones ends in 1 is type1
% [a111,a112,a121,a122]=readdata('sub1A.mat');
% [a211,a212,a221,a222]=readdata('sub2A.mat');
% [a311,a312,a321,a322]=readdata('sub3A.mat');
% [a411,a412,a421,a422]=readdata('sub4A.mat');
% [a511,a512,a521,a522]=readdata('sub5A.mat');
% [a611,a612,a621,a622]=readdata('sub6A.mat');
% [a711,a712,a721,a722]=readdata('sub7A.mat');
% [a811,a812,a821,a822]=readdata('sub8A.mat');
% [a911,a912,a921,a922]=readdata('sub9A.mat');
% [a1011,a1012,a1021,a1022]=readdata('sub10A.mat');
%
% %% Reshape
%
% % TargetData = [];
% % TargetData = cat(3, a111, a211, a311, a411, a511, a611, a711, a811, a911, a1011, ...
% % a121, a221, a321, a421, a521, a621, a721, a821, a921, a1021);
% %
% % UntargetData = [];
% % UntargetData = cat(3, a112, a212, a312, a412, a512, a612, a712, a812, a912, a1012, ...
% %q%2027771338 a122, a222, a322, a422, a522, a622, a722, a822, a922, a1022);
%
% TargetData = cat(3, a111, a211, a311, a411);
% UntargetData = cat(3, a112, a212, a312, a412);
%
% TargetNum = length(TargetData);
% UntargetNum = length(UntargetData);
%
% N1 = randperm(TargetNum);
% TargetData = TargetData(:,:,N1(1:TargetNum));
%
% N2 = randperm(UntargetNum);
% UntargetData = UntargetData(:,:,N2(1:TargetNum));
%
% numTr = floor(0.8 * TargetNum);
% numTe = floor(0.8 * TargetNum);
%
% x1Train = TargetData(:,:,1:numTr);
% x2Train = UntargetData(:,:,1:numTe);
% x1Test = TargetData(:,:,1+numTr:end);
% x2Test = UntargetData(:,:,1+numTe:end);
%
% xTrain = cat(3, x1Train ,x2Train);
% xTest = cat(3, x1Test ,x2Test);
%
% [~,~,y1Tr] = size(x1Train);
% [~,~,y2Tr] = size(x2Train);
% [~,~,y1Te] = size(x1Test);
% [~,~,y2Te] = size(x2Test);
%
% yTrain = [1*ones(y1Tr,1) ; 2*ones(y2Tr,1) ];
% yTest = [1*ones(y1Te,1) ; 2*ones(y2Te,1) ];
% save maydata.mat
%% Prepare input
% [~,~,numTrain ]= size(xTrain);
% [~,~,numTest ]= size(xTest);
%
% X_Train = reshape(xTrain,[64 100 1 numTrain]);
% X_Test = reshape(xTest,[64 100 1 numTest]);
%
% Y_Train = categorical(yTrain);
% Y_Test = categorical(yTest);
% save maydata.mat Y_Train Y_Test X_Train X_Test
%% network params
load maydata.mat
[M,N,Z,K]=size(X_Train);
inputSize = [M,N];
opt.n_chans = 64;
opt.n_classes = 2;
opt.n_start_chans = 1;
opt.n_filters_time=opt.n_start_chans;
opt.n_filters_spat=opt.n_start_chans;
opt.n_chan_factor = 2;
opt.input_time_length= 100;
opt.n_filters_2 = (opt.n_start_chans * opt.n_chan_factor);
opt.n_filters_3 = (opt.n_start_chans * (opt.n_chan_factor ^ 2.0));
opt.n_filters_4 = (opt.n_start_chans * (opt.n_chan_factor ^ 3.0));
opt.filter_length_2=10;
opt.filter_length_3=10;
opt.filter_length_4=3;
opt.final_conv_length=20;
opt.filter_time_length=3;
opt.pool_time_stride = 2;
opt.conv_stride = opt.pool_time_stride;
opt.pool_stride = 1;
opt.pool_time_length = 1;
opt.drop_prob = 0.05;
opt.targetLength = 100;
layers = constructNetwork2(opt);
analyzeNetwork(layers)
% analyzeNetwork(layers1);
%% start training
options = trainingOptions('sgdm', ...
'InitialLearnRate',0.002, ...
'ValidationData',{X_Test,Y_Test},...
'MaxEpochs',100, ...
'MiniBatchSize',64,...
'ValidationFrequency',100, ...
'ExecutionEnvironment','cpu',...
'L2Regularization',0.02,...
'Plots','training-progress',...
'ValidationPatience', 100);
net1 = trainNetwork(X_Train,Y_Train,layers,options);
%% confusion matrix
[accuracy_Train,accuracy_Test] = accuracy_plotconfusionCNN(net1,X_Train,Y_Train,X_Test,Y_Test);
没有合适的资源?快使用搜索试试~ 我知道了~
基于matlab的卷积神经网络CNN图像分类预测
共10个文件
m:6个
mat:2个
fig:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 8 下载量 193 浏览量
2023-04-06
16:01:21
上传
评论 6
收藏 43.56MB ZIP 举报
温馨提示
卷积神经网络包含所需的代码和数据,可以直接运,已保存运行结果。卷积神经网络是一包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。
资源推荐
资源详情
资源评论
收起资源包目录
cnn卷积神经网络.zip (10个子文件)
maydata1.mat 21.74MB
1.fig 38KB
2.fig 38KB
Readdata_CNN2.m 4KB
maydata.mat 21.74MB
constructNetwork2.m 982B
identityLayer.m 497B
readdata.m 449B
separationData2.m 357B
accuracy_plotconfusionCNN.m 615B
共 10 条
- 1
神经网络机器学习智能算法画图绘图
- 粉丝: 2375
- 资源: 569
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页