Low accuracy of CNN

4 views (last 30 days)
CHHAVI
CHHAVI on 8 May 2021
Answered: Aditya Patil on 11 May 2021
I reshaped my data to 4D (9x2000x10x20000) i.e height x width x channel x instances. and label 20000x1. As my matlab is not able to processed these 20000 at a time so i took first 1000 instances and evaluated my CNN model with 70:30 holdout. but i am only getting 20% caccuracy. and model is overfitting. Model is predicting on one class for all available classes. Data is unbalenced also.

Answers (1)

Aditya Patil
Aditya Patil on 11 May 2021
You can use all the data by passing some data at a time, also called as a MiniBatch. See the MiniBatchSize option in traningoptions.
If the data is imbalanced due to taking small sample, then using all data should solve the issue. On the other hand, if the entire data is imbalanced, consider using an appropriate loss function, such as focalLossLayer. Alternately, consider undersampling the data with more samples, or augment the data to increase samples in class with less samples.

Categories

Find more on Recognition, Object Detection, and Semantic Segmentation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!