This repository contains the implementations of semi-supervised SMATE and TapNet models, supervised XCM network as described in the papers SMATE: Semi-Supervised Spatio-Temporal Representation Learning on Multivariate Time Series), TapNet: Multivariate Time Series Classification with Attentional Prototype Network, XCM: An Explainable Convolutional Neural Network for Multivariate Time Series Classification, and an implementation of the Hidden Markov Models for an unsupervised temporal series classification.
Alzheimer’s disease (AD) and sleep disorders exhibit a close association, where disruptions in sleep patterns often precede the onset of Mild Cognitive Impairment (MCI) and early-stage AD. This study delves into the potential of utilizing sleep-related electroencephalography (EEG) signals acquired through polysomnography (PSG) for the early detection of AD. Our primary focus is on exploring semi-supervised Deep Learning techniques for the classification of EEG signals due to the clinical scenario characterized by the limited data availability. The methodology entails testing and comparing the performance of semi-supervised SMATE and TapNet models, benchmarked against the supervised XCM model, and unsupervised Hidden Markov Models (HMMs). The study highlights the significance of spatial and temporal analysis capabilities, conducting independent analyses of each sleep stage.
Networks of the four models have been implemented in Python 3.8 with the following packages:
- keras = 2.2.4
- tensorflow = 1.14.0 with CUDA 10.2
- pytorch = 2.0.1 with CUDA 11.7
- pyhhmm
- matplotlib
- numpy
- pandas
- pyyaml
- scikit-learn
- seaborn
- graphviz
The data used concatenate 4 different PSG databases, 1 for patients with AD and 3 public databases to obtain studies of healthy patients where only 4 EEG channels were taken. These databases were preprocessed to avoid biases in the experiments, and were separated into the different sleep stages (N1, N2, N3, REM) to perform independent tests. Databases of healthy patients can be found in:
- ISRUC-SLEEP Dataset (Subgroup-III)
- Dream Open Dataset-Healthy (DOD-H)
- Sleep Disorders Research Center (SDRC) Dataset
SMATE model
python SMATE_classifier_v2.py --ds_name DATASET_NAME
TapNet model
python train_3.py
XCM model
python main.py
HMM model
python HMM_att_train.py
@misc{gallegoviñarás2024alzheimers,
title={Alzheimer's disease detection in PSG signals},
author={Lorena Gallego-Viñarás and Juan Miguel Mira-Tomás and Anna Michela-Gaeta and Gerard Pinol-Ripoll and Ferrán Barbé and Pablo M. Olmos and Arrate Muñoz-Barrutia},
year={2024},
eprint={2404.03549},
archivePrefix={arXiv},
primaryClass={eess.SP}
}