Do Not Sleep on Traditional Machine Learning: Simple and Interpretable Techniques Are Competitive to Deep Learning for Sleep Scoring
arXiv:2207.07753 · doi:10.1016/j.bspc.2022.104429
Abstract
Over the last few years, research in automatic sleep scoring has mainly focused on developing increasingly complex deep learning architectures. However, recently these approaches achieved only marginal improvements, often at the expense of requiring more data and more expensive training procedures. Despite all these efforts and their satisfactory performance, automatic sleep staging solutions are not widely adopted in a clinical context yet. We argue that most deep learning solutions for sleep scoring are limited in their real-world applicability as they are hard to train, deploy, and reproduce. Moreover, these solutions lack interpretability and transparency, which are often key to increase adoption rates. In this work, we revisit the problem of sleep stage classification using classical machine learning. Results show that competitive performance can be achieved with a conventional machine learning pipeline consisting of preprocessing, feature extraction, and a simple machine learning model. In particular, we analyze the performance of a linear model and a non-linear (gradient boosting) model. Our approach surpasses state-of-the-art (that uses the same data) on two public datasets: Sleep-EDF SC-20 (MF1 0.810) and Sleep-EDF ST (MF1 0.795), while achieving competitive results on Sleep-EDF SC-78 (MF1 0.775) and MASS SS3 (MF1 0.817). We show that, for the sleep stage scoring task, the expressiveness of an engineered feature vector is on par with the internally learned representations of deep learning models. This observation opens the door to clinical adoption, as a representative feature vector allows to leverage both the interpretability and successful track record of traditional machine learning models.
arXiv commentThe first two authors contributed equally. Accepted to Biomedical Signal Processing and Control
References in corpus (14)
- Scikit-learn: Machine Learning in Python
- XGBoost: A Scalable Tree Boosting System
- DeepSleepNet: a Model for Automatic Sleep Stage Scoring based on Raw Single-Channel EEG
- CatBoost: gradient boosting with categorical features support
- A deep learning architecture for temporal sleep stage classification using multivariate and multimodal time series
- SleepEEGNet: Automated Sleep Stage Scoring with Sequence to Sequence Deep Learning Approach
- Joint Classification and Prediction CNN Framework for Automatic Sleep Stage Classification
- Neural network an1alysis of sleep stages enables efficient diagnosis of narcolepsy
- SleepTransformer: Automatic Sleep Staging with Interpretability and Uncertainty Quantification
- Mixed Neural Network Approach for Temporal Sleep Stage Classification
- XSleepNet: Multi-View Sequential Model for Automatic Sleep Staging
- Automatic Sleep Stage Scoring with Single-Channel EEG Using Convolutional Neural Networks
- Intra- and Inter-epoch Temporal Context Network (IITNet) Using Sub-epoch Features for Automatic Sleep Scoring on Raw Single-channel EEG
- Towards More Accurate Automatic Sleep Staging via Deep Transfer Learning