验证神经网络精度

165 Ansichten(30天)的
Andrik Rampun
Andrik Rampun 我2019年2月18日
Beantwortet: Sevda Kemba我2022年6月6
你好。。我想知道你们使用深度学习在matlab可以帮我解决我的问题。我不明白为什么我突然下降了验证精度的图吗?这是一个简单的网络与一个卷积层分类情况下较低或高的乳腺癌风险。最后的迭代之后显示一个验证的准确性高于80%但突然它没有迭代降至73%。我不明白。
matlab_per2.png
这是我的代码
%设置训练数据集文件夹
digitDatasetPath = fullfile (用户“C: \ \ uo \ \ \拿破仑情史数据运行的文件
2 \ dataBreast \ training2 ');
%训练集
imdsTrain = imageDatastore (digitDatasetPath,
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (用户“C: \ \ uo \ \ \拿破仑情史数据运行的文件
2 \ dataBreast \ validation2 ');
%测试集
imdsValidation = imageDatastore (validationPath,
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%创建一个剪ReLu层
层= clippedReluLayer (10,“名字”,“clip1”);
%定义网络体系结构
层= [
imageInputLayer ([256 256 1]);
% conv_1
32岁的convolution2dLayer (3“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% fc
fullyConnectedLayer (100)
dropoutLayer (0.7,“名字”,“drop1”);
% fc
fullyConnectedLayer (25)
dropoutLayer (0.8,“名字”,“drop2”);
% fc层
fullyConnectedLayer (2)
softmaxLayer
classificationLayer];
%指定培训选项
选择= trainingOptions (“亚当”,
“InitialLearnRate”,0.001,
“MaxEpochs”15岁的
“洗牌”,“every-epoch”,
“ValidationData”imdsValidation,
“ValidationFrequency”30岁的
“详细”假的,
“阴谋”,“训练进步”);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
%计算精度
精度= (YPred = = YValidation) /元素个数之和(YValidation);
8 Kommentare
Santhosh苏利耶Kiran
Santhosh苏利耶Kiran 我2021年7月1
你所得到的是错误的. .

Melden您西奇,嗯祖茂堂kommentieren。

Antworten (4)

Andrik Rampun
Andrik Rampun 我2019年2月19日
一些更新。我得到了类似的结果(突然下降)的图。我觉得这很奇怪。
%设置训练数据集文件夹
digitDatasetPath = fullfile (“C: \用户\拿破仑情史数据\ \ uo \文件运行2 \ dataBreast \ training2”);
imdsTrain = imageDatastore (digitDatasetPath,
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (“C: \用户\拿破仑情史数据\ \ uo \文件运行2 \ dataBreast \ validation2”);
imdsValidation = imageDatastore (validationPath,
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%创建一个剪ReLu层
层= clippedReluLayer (10,“名字”,“clip1”);
%定义网络体系结构
层= [
imageInputLayer ((256 256),“归一化”,“没有”)
% conv_1
convolution2dLayer(3, 16岁,“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_2
convolution2dLayer(3, 16岁,“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_3
32岁的convolution2dLayer (3“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_4
convolution2dLayer (64,“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_5
convolution2dLayer (3128“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_6
convolution2dLayer (3256“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% fc5
fullyConnectedLayer (500)
dropoutLayer (0.5,“名字”,“drop1”);
% fc5
fullyConnectedLayer (250)
dropoutLayer (0.5,“名字”,“drop2”);
% fc5
fullyConnectedLayer (50)
dropoutLayer (0.5,“名字”,“drop3”);
% fc层
fullyConnectedLayer (2)
softmaxLayer
classificationLayer];
% soecify培训选项
选择= trainingOptions (“亚当”,
“InitialLearnRate”,0.001,
“MaxEpochs”30岁的
“洗牌”,“every-epoch”,
“ValidationData”imdsValidation,
“ValidationFrequency”30岁的
“详细”假的,
“阴谋”,“训练进步”);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
精度= (YPred = = YValidation) /元素个数之和(YValidation)
% YPred =预测(净,X);
analyzeNetwork(净)
matlab_per3.png
18 Kommentare
epic
epic 我2019年2月26日
是的,MiniBatchSize。和我的意思是你的fullyConnectedLayers outputSize可以减少到小于3136的东西:
fullyConnectedLayer (3136)

Melden您西奇,嗯祖茂堂kommentieren。


Saira
Saira 我2020年6月15日
你好,
我有5600个训练图像。我有使用主成分分析(PCA)提取特征。然后我在CNN应用提取的特征。我的训练精度为30%。如何提高培训准确性?
功能列向量大小:640 * 1
我的训练代码:
%卷积神经网络架构
层= [
imageInputLayer ([1 640 1]);
reluLayer
fullyConnectedLayer (7);
softmaxLayer ();
classificationLayer ()];
选择= trainingOptions(“个”、“动力”,0.95,“InitialLearnRate”, 0.0001,“L2Regularization”, 1的军医,“MaxEpochs”, 5000年,“MiniBatchSize”, 8192年,“详细”,真正的);

Sevda Kemba
Sevda Kemba 我2022年6月6
@Andrik Rampun 你好。在Matlab中,我们用代码加载数据集和极限深度学习。但是当我们训练、验证精度保持在40 - 50%之间。我们能做什么来增加到90% ?我们会很高兴如果你能帮助。

Sevda Kemba
Sevda Kemba 我2022年6月6
@Saira 你好。在Matlab中,我们用代码加载数据集和极限深度学习。但是当我们训练、验证精度保持在40 - 50%之间。我们能做什么来增加到90% ?我们会很高兴如果你能帮助。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的