How to increase CNN accuracy?
7 views (last 30 days)
Show older comments
I have images created from EEG epochs of Size 18x64. Have designed a CNN to classify the epochs into two categories. The CNN that I designed:The convolution layer 1 is of size 3x3 with stride 1 and Convolution layer 2 is of size 2x2 with stride 1.
No matter how many epochs I train it for, my training loss (mini-batch loss) doesn't decrease. It hovers around a value of 0.69xx and accuracy not improving beyond 65%.
I have tried the following to minimize the loss,but still no effect on it.
1. Vary the initial learning rate - 0.01,0.001,0.0001,0.00001; 2. Vary the batch size - 16,32,64; 3. Vary the number of filters - 5,10,15,20; 4. Vary the filter size - 2x2,3x3,1x4,1x8; 5. Vary the dropout - 0.2,0.3,0.4,0.5,0.6.
Can anyone please help me to understand what the issue might be?
Thanks for your time and input(s).
-- Venkat
4 Comments
Bernhard Suhm
on 11 Sep 2018
Well, on second thought this problem is not a good fit for a CNN. You are analyzing a time series, and key to distinguishing the classes is how the time series evolves, it's not sufficient to look at a single snapshot of the signal, or rather, 64 sample points aren't enough (how much time do 64 samples represent?). You could try increasing the window you feed into the CNN, or switch to using an LSTM.
Answers (1)
See Also
Categories
Find more on Image Data Workflows 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!