Make classification and prediction at the same time

3

1

I am working on the detection and prediction of epileptic seizures and I was thinking about something : would it be possible to apply classification and prediction at the same time. I mean, having seen some data points of EEG, it would be possible to predict the (few) next values of the time series while saying "it's part of a seizure" (or at the opposite, "nothing happens, remain quiet") at the same time ?

If yes, would it be possible to do both using the same neural net ?

Thanks for any help

MysteryGuy

Posted 2018-07-25T07:42:23.350

Reputation: 190

1

hidden markov would also help. your hidden states can be opposite, "nothing happens, remain quiet and EEG data would be visible states with dependencies.- http://machinelearningstories.blogspot.com/2017/02/hidden-markov-model-session-1.html

– Arpit Sisodia – 2018-08-04T06:18:39.057

Answers

3

I think the most intuitive solution would be to have two networks (i.e. one for predicting the next values in the time series and one for classifying if it is or isn't a seizure), because these are two very different tasks and there are different models that excel at each.
The classification network could even be on top of the time series predictor (include the predicted values to assess if it is a seizure or not).

However, what you want (one model to solve both tasks) is most certainly possible and is usually referred to as Multi-Task Learning. In this framework there usually is a large network that branches off to $M$ smaller ones (one for each task). The shared layers are supposed to learn from all $M$ tasks and outperform networks trained individually. If you would like to see some research done in the area I would suggest following MIT's affective computing group (example MTL applications: 1, 2, 3, 4, 5).

In your case you would have a network with two outputs, one for time series prediction and one for classification. Many machine learning libraries allow you to define two cost functions (one for each task) and even have a hyper-parameter you can tune to select the importance of each task. I've done a similar thing with keras' functional api.

Djib2011

Posted 2018-07-25T07:42:23.350

Reputation: 6 495

1Thanks, I think it's a good start for what I would like to do – MysteryGuy – 2018-07-25T09:13:43.643