Maintaining Consistent CNN Accuracy with Shuffled Features

4 次查看(过去 30 天)
I applied a Convolutional Neural Network (CNN) to a matrix with dimensions of 50,000 × 39 features, which yielded an accuracy of 90%. However, when I shuffled or disordered the 39 features, the accuracy dropped to 88%. It's worth noting that I used the same dataset for both scenarios. I'm looking for guidance on how to resolve this issue and maintain a consistent accuracy of 90%. PS: I have used the same data in both cases.

回答(1 个)

Rishi
Rishi 2023-10-31
Hi Hamza,
I understand from your query that you want to achieve the same accuracy when you change the order of your features. The drop in accuracy when shuffling or disordering the features suggests that the order of the features affects the performance of your CNN model. This can happen when the model relies on spatial or sequential information present in the original feature order.
You can try the following methods to maintain accuracy regardless of the feature order.
  • Feature Normalization: This would ensure that the magnitude of the features is consistent and the impact of the difference in scales is reduced. You can use ‘zscore’ or ‘normalize’ in MATLAB to do this. You can learn more about them from the documentation linked below:
  • Data Augmentation: Augment your dataset by creating additional samples with different feature orders. This can be done through ‘randomAffine2d’ or ‘imwarp’ function. You can learn more about them from the documentation:
  • Ensemble Method: It is used to train multiple CNN models with different feature orders and combine their predictions. You can use ‘fitcensemble’ function for this. You can find more information about this in the below documentation:
Hope this helps.

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by