分類器のvalidation accuracyはなぜ毎回異なるのか
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
ssk
am 6 Feb. 2019
Kommentiert: Tohru Kikawada
am 8 Feb. 2019
プログラミング初心者です。
下記リンクを参考にコンパイルしてみたところ、varidation accuracyが毎回コンパイル毎に異なります。
CNNに再現性はないのかなと不安になっておりますので、ご教示いただけますと幸いです。
0 Kommentare
Akzeptierte Antwort
Shunichi Kusano
am 7 Feb. 2019
Bearbeitet: Shunichi Kusano
am 7 Feb. 2019
精度が毎回変わるのは、学習用のデータと検証用のデータが毎回ランダムに変わるためだと思います。
[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomize'); % ここのことです
用意したサンプルデータが十分でかつ偏りがなければ、毎回大体同じ値になることが期待されます。
通常は学習用のデータと検証用のデータをとっかえひっかえしながら何回か検証して、それらの平均精度で手を打ちます。交差検証法というので勉強してみるといいと思います。
1 Kommentar
Tohru Kikawada
am 8 Feb. 2019
>> openExample('nnet/TrainABasicConvolutionalNeuralNetworkForClassificationExample')
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample
>> accuracy
accuracy =
0.9976
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample % 乱数のシードが変わっている
accuracy =
0.9944
>> rng('default'); % 乱数のシードを常に初期値にする
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample
accuracy =
0.9976
>> rng('default'); % 乱数のシードを常に初期値にする
>> TrainABasicConvolutionalNeuralNetworkForClassificationExample
accuracy =
0.9976
>> % 値が一致する
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!