Во входных данных мы имеем последовательность 30-х годов ЭЭГ, где каждая эпоха имеет метку {« W , N1 , N2 , N3 , REM }».

Этот пост основан на общедоступных данных ЭЭГ сна (Sleep-EDF), которые были сделаны для 20 субъектов, 19 из которых имеют 2 полные ночи сна. Мы используем сценарии предварительной обработки, доступные в этом репо, и разделяем поезд / тест так, чтобы ни один из предметов исследования не участвовал в обоих одновременно.

Общая цель состоит в том, чтобы перейти от одномерной последовательности, как на рис.1, и спрогнозировать выходную гипнограмму, как на рис.2.

Описание модели

Недавние подходы [1] используют подмодель, которая кодирует каждую эпоху в одномерный вектор фиксированного размера, а затем вторую последовательную подмодель, которая отображает вектор каждой эпохи в класс из {« W , N1 , N2, N3, REM} ».

Здесь мы используем 1D CNN для кодирования каждой Эпохи, а затем еще одну 1D CNN или LSTM, которая маркирует последовательность эпох для создания окончательной гипнограммы. Это позволяет прогнозировать эпоху с учетом контекста.

Полная модель принимает в качестве входных данных последовательность эпох ЭЭГ (по 30 секунд каждая), где подмодель 1 применяется к каждой эпохе с использованием Распределенного по времени слоя Keras, который создает последовательность векторов. Затем последовательность векторов передается в другую подмодель, такую ​​как LSTM или CNN, которая создает последовательность выходных меток.
Мы также используем линейную цепочку CRF для одной из моделей и показываем, что она может улучшить производительность.

Процедура обучения

Полная модель обучается от начала до конца с нуля с использованием оптимизатора Adam с начальной скоростью обучения 1 e⁻³, которая уменьшается каждый раз, когда плато точности проверки с помощью обратных вызовов ReduceLROnPlateau Keras.

Полученные результаты

Сравниваем 3 разные модели:

  • CNN-CNN: в них использовалась 1D CNN для кодирования эпохи, а затем еще одна 1D CNN для маркировки последовательностей.
  • CNN-CNN-CRF: Эта модель использовала 1D CNN для кодирования эпохи, а затем 1D CNN-CRF для маркировки последовательностей.
  • CNN-LSTM: в них использовалась 1D CNN для кодирования эпох, а затем LSTM для маркировки последовательностей.

Мы оцениваем каждую модель на независимом тестовом наборе и получаем следующие результаты:

  • CNN-CNN: F1 = 0,81, ТОЧНОСТЬ = 0,87
  • CNN-CNN-CRF: F1 = 0,82, ТОЧНОСТЬ = 0,89
  • CNN-LSTM: F1 = 0,71, ТОЧНОСТЬ = 0,76

CNN-CNN-CRF превосходит две другие модели, потому что CRF помогает узнать вероятности перехода между классами. Модель на основе LSTM также не работает, потому что она наиболее чувствительна к гиперпараметрам, таким как оптимизатор и размер пакета, и требует обширной настройки для хорошей работы.

Исходный код доступен здесь: https://github.com/CVxTz/EEG_classification

Жду ваших предложений и отзывов.

[1] DeepSleepNet: модель автоматической оценки стадии сна на основе необработанной одноканальной ЭЭГ