Trained model is not provding the desired output result.
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I am traing a model for image segmentation. During the trainig both the validation and training accuracy reaches around 92%. But when I evalaute my trained model using test images or even using the trian images the model gives the accuracy around 50%.
What could be the reason of this? Is this probelm is due to overfitting?
3 个评论
Walter Roberson
2022-9-19
There is a famous example of a US Air Force AI project to distinguish pictures of US aircraft from pictures of Russian aircraft. In testing and validation the program achieved 100% success rate -- but when deployed to testers, the program often failed.
It turned out that what the program was really detecting was whether the aircraft was pointed left or pointed right, because the US aircraft used for the training image were all pointing right and the Russian aircraft trained on were all pointing left.
回答(1 个)
Kapil Gupta
2022-9-22
I understand you are trying to train a model for image segmentation but you are getting very low testing accuracy as compared to training/validation accuracy.
This generally happens when your model is learning the data instead of learning the pattern, better known as 'Overfitting'.
You can try the following few things:
- Use of regularization technique
- Make sure each set (train, validation and test) has sufficient samples like 60%, 20%, 20% or 70%, 15%, 15% split for training, validation and test sets respectively.
- Perform k-fold cross validation
- Randomly shuffle the data before doing the spit, this will make sure that data distribution is nearly the same.If your data is in datastore you can use 'shuffle' function else you can use "randperm" function.
You can also go through the following MATLAB Answer which discusses a similar issue:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Pattern Recognition and Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!