How to increase CNN accuracy?
6 次查看(过去 30 天)
显示 更早的评论
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/171886/image.png)
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%.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/171887/image.png)
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 个评论
Bernhard Suhm
2018-9-11
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.
回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 AI for Signals 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!