我現在正在實施用於分類的神經網絡。我使用反向傳播算法進行訓練。我使用交叉驗證方法。但我不清楚什麼時候應該停止訓練神經網絡。
接下來是如何檢查過度配合和不足。什麼時候應該停止使用交叉驗證方法訓練神經網絡進行分類
我有一個數據集有1,000個模式。我使用10倍交叉驗證方法。所以1折有100個模式。我訓練了900個模式並用100個模式測試。
儘管我更改了隱藏節點的數量和時間,但測試的準確性並沒有太大的改變。但是我將訓練數據輸入訓練好的網絡,訓練的準確性根據隱藏節點的數量和時間的不同而不同。我的想法足以檢查過度配合和不足配合嗎?我能確定過度擬合和不足的準確性嗎?
我也想問一下這個問題繼續。我發佈了我的結果,測試了各種隱藏節點和各種不同的時代。正如我所說的,我使用交叉驗證,我從10個受過培訓的網絡中只使用一個網絡(測試精度最高)。
No of hidden nodes=50 ,Learning Rate=0.1 , no of epoch=100
Network 0 on Test=75.0 , onTrain= 97.11111111111111
Network 1 on Test=72.0 , onTrain= 98.22222222222223
Network 2 on Test=69.0 , onTrain= 97.88888888888889
> Network 3 on Test=78.0 , onTrain= 97.44444444444444
Network 4 on Test=77.0 , onTrain= 97.77777777777777
Network 5 on Test=77.0 , onTrain= 97.11111111111111
Network 6 on Test=69.0 , onTrain= 97.55555555555556
Network 7 on Test=74.0 , onTrain= 98.22222222222223
Network 8 on Test=76.0 , onTrain= 97.77777777777777
Network 9 on Test=74.0 , onTrain= 97.55555555555556
No of hidden nodes=50 ,Learning Rate=0.1 , no of epoch=70
Network 0 on Test=71.0 , onTrain= 93.22222222222221
Network 1 on Test=70.0 , onTrain= 93.33333333333333
Network 2 on Test=76.0 , onTrain= 89.88888888888889
Network 3 on Test=80.0 , onTrain= 93.55555555555556
Network 4 on Test=77.0 , onTrain= 93.77777777777779
> Network 5 on Test=81.0 , onTrain= 92.33333333333333
Network 6 on Test=77.0 , onTrain= 93.0
Network 7 on Test=73.0 , onTrain= 92.33333333333333
Network 8 on Test=75.0 , onTrain= 94.77777777777779
Network 9 on Test=70.0 , onTrain= 93.11111111111111
No of hidden nodes=50 ,Learning Rate=0.1 , no of epoch=50
Network 0 on Test=73.0 , onTrain= 87.8888888888889
Network 1 on Test=74.0 , onTrain= 89.22222222222223
Network 2 on Test=73.0 , onTrain= 87.1111111111111
Network 3 on Test=66.0 , onTrain= 90.44444444444444
Network 4 on Test=82.0 , onTrain= 88.77777777777777
Network 5 on Test=80.0 , onTrain= 88.44444444444444
Network 6 on Test=67.0 , onTrain= 88.33333333333333
Network 7 on Test=75.0 , onTrain= 87.8888888888889
Network 8 on Test=78.0 , onTrain= 87.44444444444444
Network 9 on Test=73.0 , onTrain= 85.0
第一個網絡(沒有劃時代的= 100)最好的網絡得到測試精度爲78.0,但在列車上是97.4444。這是否意味着過度配合?如果這是過度擬合,是第三個網絡(沒有epoch = 50),最好的網絡在測試中的準確性是82.0,在火車上是88.777可以接受?如果不能接受,我是否應該減少時代的數量?
我想這可能與OK確認最牛釘子戶的方法。交叉驗證可以嗎?我使用10倍交叉驗證。所以我認爲,在完成10個網絡的全部訓練之前,我無法停止訓練。如果你好,請幫我做10倍交叉驗證方法。如果我使用交叉驗證,是否需要檢查過度配合和不足配件?謝謝先生 –
你可以用10倍交叉驗證來代替堅持驗證,我沒有看到這個想法有問題。如果您的訓練準確性持續上升,但您的交叉驗證準確性保持不變,那麼您應該停止訓練,因爲您可能過於合適。 – Kiril