2クラス分類問題にお​ける事後確率を用いた​拒否オプションについ​て

7 次查看(过去 30 天)
Sae Onodera
Sae Onodera 2020-6-25
评论: Kenta 2020-6-29
学習済みのCNNネットワークを用いて画像を2クラスに分類し、分類の事後確率がある値よりも高い場合にはCNNの分類結果を受け入れ、低い場合にはCNNの分類結果を拒否するプログラムを作成しようと考え、以下のようなコードで実行したところ、
エラー: confusionmat (line 71)
G と GHAT は同じタイプでなければなりません。
エラー: Squeezenet_ensemble (line 161)
C = confusionmat(imdsValidation.Labels,YPred)
というエラーが出てしまいました。
質問なのですが、事後確率の低い場合には拒否する、という場合にはクラス1・クラス2の分類のほかに分類結果を拒否する3つ目のクラスを定義する必要があるのでしょうか。よろしくお願いいたします。
% 事後確率に応じてCNNの分類結果を拒否するオプション
for i=1:filesuu
if ( probs(i,:) < 0.9)
YPred = 'Reject';
[img,info] = readimage(imdsValidation,i);
info.Filename
imshow(img)
end
end
% 正解率を表示
accuracy = mean(YPred == imdsValidation.Labels)
% 分類の混同行列を表示
C = confusionmat(imdsValidation.Labels,YPred)
confusionchart(C)

采纳的回答

Kenta
Kenta 2020-6-25
こんにちは、「~のほかに分類結果を拒否する3つ目のクラスを定義する必要があるのでしょうか」とありますが、confusion matrixをA, B, rejectの3つのカテゴリーで作成したい場合は、定義する必要がある(=imdsValidation.Labelsにrejectが含まれないとエラーを返す場合が多い)と思います。もしかしたらデータの入れ方次第では問題にはならないかもしれません。
ただ、本来的には、imdsValidation.Labels内にはAかBのみが入るはずで、rejectというカテゴリーの概念はないですよね。そのため、精度計算をした行の次の段階としては、reject以外のカテゴリをもつYPredとそれに対応するラベルでconfusion matrixを作るのかと想像していたのですがいかがでしょうか。
  2 个评论
Sae Onodera
Sae Onodera 2020-6-29
ご回答ありがとうございます。
お返事が遅くなってしまってすみません。
2つ目に挙げてくださった手順でconfusion matrixを作ることができました。ありがとうございました。
Kenta
Kenta 2020-6-29
はい、解決しよかったです。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 入門 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!