EEG signal processing using machine learning to detect epileptic seizures

Epilepsy is one of the most prevalent neurological disorders worldwide. In Malta alone, around 4000 persons suffer from the condition. A person is diagnosed with epilepsy when two or more seizures are experienced for no known reason. The effects that a person experiences differ depending on the type of seizures. These effects can range from impairment of senses, to total loss of consciousness and uncontrollable convulsions. The main objective of this work is to create a seizure-detection system using pre-recorded electroencephalogram (EEG) data and a number of machine learning techniques.

When neurons fire within the brain, a small current is produced. During a seizure, a group of neurons synchronously fire together, resulting in spikes in electrical activity in the brain, which is not characteristic of regular brain activity. EEG sensors are used to measure this electrical activity in the brain and use a number of metal electrodes placed on the skull to measure the brain’s electrical activity in different regions.

In this study, the CHB-MIT scalp EEG database [1-2] was used to obtain many EEG recordings from seizure patients. These recordings were then used as the dataset on which to train a number of machine learning classifiers, to classify whether an EEG signal being monitored would correspond to a seizure or a non-seizure class.

Before the EEG recordings could be used for training, preprocessing and signal processing techniques were applied to extract salient features that would represent the corresponding classes. Discrete wavelet transform was used to decompose the signal into several subband signals of different frequency ranges. Various features were then identified in the extracted subband signals to be used to train the classifiers.

Previous literature in the area of seizure detection using EEG data predominantly compared and evaluated single classifiers. In this work, the results were obtained with the use of a technique called stacking classifiers (Figure 1). This is an ensemble machine learning technique, whereby more than one classifier would be used. This technique combines the predictions from several well-performing classifiers to produce a single meta-classifier that would outperform the single classifiers. A number of classifiers were used in the training process, namely: support-vector machine, naive Bayes, k-nearest neighbors, random forest, multilayer perceptron neural network and extreme learning machine. These classifiers helped yield the desired results.

The performance of the stacked classifier was evaluated using three performance metrics: accuracy, sensitivity and specificity. When comparing the results obtained through a stacked classifier to a single classifier, multiple stacked classifiers were found, which outperformed all the single classifiers in every performance metric mentioned. Moreover, the sensitivity of the stacked classifiers in particular was noticeably higher in most cases than that of the single classifiers. This suggests that certain stacked classifiers could report seizures more accurately.

Figure 1. An overview of the architecture of stacked classifiers


[1] Shoeb, A. Application of Machine Learning to Epileptic Seizure Onset Detection and Treatment. PhD Thesis, Massachusetts Institute of Technology, September 2009.
[2] Goldberger, A.L., Amaral, L.A., Glass, L., Hausdorff, J.M., Ivanov, P.C., Mark, R.G., Mietus, J.E., Moody, G.B., Peng, C.K. and Stanley, H.E., 2000. PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals. circulation, 101(23), pp.e215-e220.

Student: Simon Xerri
Course: B.Sc. IT (Hons.) Artificial Intelligence
Supervisor: Dr Lalit Garg