4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

matlabで始めるディープラーニング 画像分類 part2

Last updated at Posted at 2021-10-22

こちらの記事でモデルの構築を行いました。

今回は、作ったモデルをテストデータを用いて検証する方法を書きます。

前回のコード

sample.m
%% データの読み込み
imds = imageDatastore('./pictures', 'IncludeSubfolders', true, 'LabelSource', 'foldernames');

%% データの分割
[trainData, testData] = splitEachLabel(imds, 0.6, 'randomized');

%% ニューラルネットワーク読み込み
net = vgg16;

%% ネットワーク層修正
layers = net.Layers;
numClasses = numel(categories(imds.Labels));
layers(39) = fullyConnectedLayer(numClasses);
layers(41) = classificationLayer;

%% ネットワークのインプットサイズに合わせて画像リサイズ
inputSize = net.Layers(1).InputSize(1:2);
augTrainData = augmentedImageDatastore(inputSize, trainData);
augTestData = augmentedImageDatastore(inputSize, testData);

%% 学習オプション
options = trainingOptions('sgdm', ...
    'MiniBatchSize',10, ...
    'MaxEpochs',6, ...
    'InitialLearnRate',1e-4, ...
    'Shuffle','every-epoch', ...
    'ValidationData', augTrainData, ...
    'ValidationFrequency',3, ...
    'Verbose',false, ...
    'Plots','training-progress');

%% 学習
netTransfer = trainNetwork(augTrainData, layers, options);
%% テストデータで予測

[predLabels, scores] = classify(netTransfer, augTestData);

検証はこちらの続きから書いていきます。

%% テストデータを用いてモデル精度の検証
testDataLabels = testData.Labels;
correct = nnz(testDataLabels == predLabels);
DataCount = numel(testData.Labels);
accuracy = correct / DataCount;

%% 可視化
% 真のラベルと予測したラベル
confusionchart(testDataLabels, predLabels);

accuracyこちらの中に正答率が格納されます

画像のように縦軸を真のクラス、横軸を予測したラベルとして分布表が現れます。
スクリーンショット 2021-10-23 2.52.04.png

今後やること

この記事の修正を行い、もう少し詳しく書いていきます。
ブログへ移行しましたので、興味ある方はぜひ見てください.

ブログへ移行

part1
part2+少し詳しく

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?