分類器のvalidation accuracyはなぜ毎回異なるのか
조회 수: 13 (최근 30일)
이전 댓글 표시
プログラミング初心者です。
下記リンクを参考にコンパイルしてみたところ、varidation accuracyが毎回コンパイル毎に異なります。
CNNに再現性はないのかなと不安になっておりますので、ご教示いただけますと幸いです。
댓글 수: 0
채택된 답변
Shunichi Kusano
2019년 2월 7일
편집: Shunichi Kusano
2019년 2월 7일
精度が毎回変わるのは、学習用のデータと検証用のデータが毎回ランダムに変わるためだと思います。
[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomize'); % ここのことです
用意したサンプルデータが十分でかつ偏りがなければ、毎回大体同じ値になることが期待されます。
通常は学習用のデータと検証用のデータをとっかえひっかえしながら何回か検証して、それらの平均精度で手を打ちます。交差検証法というので勉強してみるといいと思います。
댓글 수: 1
Tohru Kikawada
2019년 2월 8일
>> openExample('nnet/TrainABasicConvolutionalNeuralNetworkForClassificationExample')
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample
>> accuracy
accuracy =
0.9976
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample % 乱数のシードが変わっている
accuracy =
0.9944
>> rng('default'); % 乱数のシードを常に初期値にする
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample
accuracy =
0.9976
>> rng('default'); % 乱数のシードを常に初期値にする
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample
accuracy =
0.9976
>> % 値が一致する
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!