2

I have an experiment in which it was done under two conditions. For each condition, the experiment was performed 26 times. The output of the experiment is a plot with 70 time indices. I would like to train a classifier to predict, given a plot, to which condition it belongs. The image below shows the output of the conducted experiment under the two conditions recognised by different colors. The actual experiment begins at index 35, and thus it can be seen there is no difference in the outcome of the experiment before that regardless of the condition. The plots represent power spectral density of EEG from one channel (electrode).

I am trying to train an svm classifer ignoring the features below 35. The classifier is having hard time doing so considering the high variability of each condition. One thing is, averaging the red plots and blue plots yield a noticeably different behaviour, as can be seen from the second figure. I would like to improve the accuracy of my classifier, beyond 65%. Is LSTM suitable for this type of problem? Any other suggestions? X_axis: time (ms), Y_axis: amplitude

Means of each category

HaneenSu
  • 85
  • 1
  • 7

1 Answers1

1

A quick answer is since you have time series data, LSTM is generally appropriate if you would like to model/exploit time dependencies between values in each series. LSTMs are now combined with CNNs for even better performance. You can refer to this Q&A for that: What is the best method for classification of time series data?Should I use LSTM or any other method. The only problem is that it appears that you have an extremely small dataset, which normally leads to overfitting with neural networks given the number of parameters they need to compute. And there is actually a lower bound on the number of training samples needed for LSTM (see: Number of parameters in an LSTM model). Perhaps you can find pre-trained RNNs/LSTMs trained on similar data that you can use.

In general, any classification algorithm (especially those that perform well on time series data) can (and probably should) be tried. With SVM, I hope you've tried different kernels. There is at least this one paper that discusses the relative merits of different SVM kernels for time series analysis: http://www-ai.cs.uni-dortmund.de/EVENTS/FGML2001/FGML2001-Paper-Rueping.pdf.

If you have not already done so, I also recommend that you research feature extraction strategies for time series data (and particularly, EEG data) that have worked for others. There is at least one Q&A on this topic on the Cross Validated site: https://stats.stackexchange.com/questions/66027/time-series-classification-very-poor-results.

AlexK
  • 350
  • 2
  • 12