I have a database of images of 213 examples (7 classes). First, I extracted the features where I got 212 features. CAD, I maintain a data matrix of 213x212. I used the genetic algorithm for both optimize SVM hyperparameters and feature selection (with binary chromosome). For this, i divided my dataset to training set (75%) and test set (25%). In each chromosome, i calculate fitness function based on test set accuracy (i never use test set for training). I noticed that the recognition rate in each generation increases, where i finally got a accuracy rate equal to 98%. The problem is when I test the SVM model on other images, I don't get the expected result. Is this an over-learning problem? someone can help me?
Edit 1: I used a Gabor filter to extract the features from this 213 images. I obtained 50,000 features, I then reduce the number of dimensions with PCA in order to obtain 212 features (with the retention of 99% of information).