Основное руководство по прогнозированию диагноза в здравоохранении с помощью сети Bi-LSTM на основе внимания

Прогнозирование будущей медицинской информации или болезни с помощью электронной медицинской карты (EHR) является ключевым вариантом использования для исследований в области здравоохранения. Данные EHR состоят из диагностических кодов, кодов аптек и кодов процедур. Моделирование и интерпретация модели на основе данных EHR является утомительной задачей из-за высокой размерности данных.

В этой статье мы обсудим популярную исследовательскую работу DIPOLE, опубликованную в июне 2019 года, в которой используется сеть Bi-LSTM+Attention.

Contents:
1) Limitations of Linear/Tree-based for Modeling
2) Why RNN models?
3) Essential guide to LSTM & Bi-LSTM network
4) Essential guide to Attention
5) Implementation

1) Ограничения линейной/древовидной модели:

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

  1. В случае прогнозирования заболевания результат зависит от последовательности событий во времени. Эта информация о временной последовательности теряется в модели RF. Итак, идея состоит в том, чтобы попробовать прогнозировать события на основе модели временных рядов. Кандидатами могут быть статистические модели временных рядов, такие как ARIMA, Холт-Уинтерс, или модели на основе нейронных сетей, такие как RNN/LSTM или даже архитектуры на основе трансформаторов.
  2. Однако долгосрочные зависимости событий и информации в (нерегулярных) временных интервалах между событиями трудно отразить в модели RF или даже в классических моделях временных рядов.
  3. Кроме того, случайный лес не смог зафиксировать нелинейные связи и сложные отношения между упорядоченными по времени событиями. Это также относится и к классическим моделям TS. Мы можем ввести нелинейность, включив условия взаимодействия (такие как квадратичные, мультипликативные и т. д.) или используя ядра (например, в SVM), однако это зависит от того, насколько мы знаем фактические нелинейные зависимости, которые в настоящее время очень трудно воспроизвести с реальными данными. выяснить.

Таким образом, мы продвигаемся вперед, изучая модели временных рядов на основе нейронных сетей, такие как RNN/LSTM, а затем — архитектуры-преобразователи. Вышеупомянутая гипотеза об ограничениях моделей RF и классических TS также будет проверена позже путем сравнения их показателей оценки с моделями RNN / LSTM.

2) Почему модели RNN?

Данные о претензиях включают информацию, относящуюся к диагностике, процедурам и использованию для каждого члена на уровне претензии. Информация о заявке зависит от времени, и существующая модель RF не использует информацию о времени посещений.

Идея состоит в том, чтобы обновить модель RF чем-то более подходящим для прогнозирования событий временных рядов, например RNN.

Ввод каждого блока RNN зависит от вывода предыдущего блока, а также от последовательности ввода в момент времени «t». Блок RNN повторяется для каждого события в последовательности.

Ограничение модели RNN:

Было обнаружено, что RNN хорошо работают на практике для краткосрочных зависимостей в данных. Например, модель предсказывает следующее слово неполного предложения, используя существующие слова. Если мы пытаемся предсказать последнее слово в «облака в небе», нам не нужен дополнительный контекст — совершенно очевидно, что следующим словом будет небо. В таких случаях, когда разрыв между релевантной информацией и местом, где она необходима, невелик, RNN могут научиться использовать прошлую информацию.

Но для длинных последовательностей модель RNN страдает от проблемы исчезающего/взрывающегося градиента, что затрудняет долгосрочное изучение событий. Во время обратного распространения градиент становится все меньше и меньше, а обновления параметров становятся незначительными для ранних событий, что означает, что реальное обучение не выполняется.

RNN также медленно обучаются на таких длинных последовательностях данных.

Альтернативы:

LSTM (долговременная кратковременная память) и GRU (Gated Recurrent Unit) — это альтернативы или обновленные версии сети RNN, способные фиксировать долгосрочную зависимость последовательные события без проблемы исчезающего/взрывающегося градиента в большинстве случаев. Они преодолевают эту проблему RNN, используя механизм выборочного удержания с помощью нескольких весов и смещений вместо одного.

3) Основное руководство по сети LSTM и Bi-LSTM:

Блок LSTM имеет 3 шлюза (входной, выходной и забытый шлюз) для защиты и управления состоянием ячейки и добавления необходимой информации к текущему состоянию. У модуля LSTM есть 3 входа, т. е. предыдущее состояние ячейки (C_(t-1)), вывод предыдущего модуля (h_(t-1)) и >введите событие в момент времени 't' (x_t). Принимая во внимание, что у него есть два вывода, т. е. текущее состояние ячейки (C_t) и текущий вывод (h_t).

Пожалуйста, посетите блог Колы, чтобы понять, как работает сеть LSTM:



Би-LSTM-сеть:

Bi-LSTM — это вариант LSTM, который передает входные данные в обоих направлениях, чтобы сохранить будущую и прошлую информацию.

Прямой LSTM считывает входную последовательность посещений от x_1 до x_t и вычисляет последовательность прямых скрытых состояний. Обратный LSTM считывает последовательность посещений в обратном порядке, то есть от x_t до x_1, что приводит к последовательности скрытых состояний в обратном направлении. Объединив прямое скрытое состояние и обратное, мы можем получить окончательное представление скрытого вектора как h_i.

Слой Bi-LSTM используется вместо слоя LSTM как:

  • чтобы захватить полный контекст последовательности
  • часто все становится ясно только задним числом, когда смотришь в будущее

Недостатки Bi-LSTM:

  • они изучают контексты слева направо и справа налево по отдельности и объединяют их. Таким образом, истинный контекст теряется, в каком-то смысле теряется.
  • предположить, что каждое событие равноотстоящее во времени
  • носят последовательный характер, поэтому обучение с большими данными может замедляться.

Трансформаторы могут преодолеть вышеуказанные недостатки.

4) Основное руководство по вниманию:

Механизм внимания был введен Bahdanau et al. (2014), чтобы решить проблему узкого места, которая возникает, когда декодер имеет ограниченный доступ к информации, предоставленной на входе.

Модели внимания позволяют сети сосредотачиваться на нескольких конкретных аспектах/событиях одновременно и игнорировать остальные.

В нашей реализации мы добавляем слой внимания, чтобы отразить важность вектора посещения для любого прогноза. Чем больше показатель внимания, соответствующий вектору посещения, тем большее значение он имеет при составлении прогноза.

5) Реализация:

Наша текущая реализация Bi-LSTM вдохновлена ​​​​документом DIPOLE (июнь 2017 г.) Фенглонга Ма и его команды. В документе используется сеть Bi-LSTM для моделирования данных EHR и используется простой механизм внимания для интерпретации результатов.

Ниже я описал пошаговый подход к нашей текущей реализации:

а) Данные:

Мы используем данные (Электронные данные о здоровье — EHR) для моделирования Bi-LSTM + Attention.

Примечание. Это те же данные, которые мы использовали для линейного/древовидного моделирования.

На данный момент мы ограничены моделью только по медицинским кодам диагноза.

b) Разработка характеристик (данные EHR):

  • Данные о претензиях находятся на уровне строки, мы выбираем первую запись для каждой претензии, чтобы перейти на уровень посещения.
  • Подготовьте кодировщик меток диагноза для всех уникальных кодов диагноза в обучающих данных.

  • Одно горячее кодирование диагностического кода для каждого визита.
  • Выберите последние x посещений/заявок (гиперпараметр) для каждого участника. Если участник не ограничивает количество посещений, мы дополняем оставшиеся посещения нулевым вектором.

  • Отформатируйте данные, подходящие для сетевого ввода LSTM (Members, Visits, unique medical codes)

Для набора данных с 1000 участников, имеющих 5000 уникальных медицинских кодов и дополненных посещением до 10, у нас будет окончательная форма данных обучения как: (1000, 10, 5000)

в) Bi-LSTM + Внимание в Керасе

Мы будем использовать структуру tf.Keras для реализации сети Bi-LSTM + Attention для моделирования прогнозирования заболевания.

г) интерпретация

В здравоохранении важна интерпретируемость выученных представлений медицинских кодов и посещений. Нам нужно понять клиническое значение каждого измерения представления медицинского кода и проанализировать, какие визиты имеют решающее значение для прогноза.

Поскольку предлагаемая модель основана на механизмах внимания, мы можем определить важность каждого посещения для прогнозирования, анализируя показатели внимания.

е) Резюме модели

Краткое содержание:

Реализация DIPOLE использует сеть с архитектурой Bi-LSTM для захвата долгосрочных и краткосрочных зависимостей исторических данных EHR. Механизм «Внимание» можно использовать для интерпретации результатов прогнозирования, заученных медицинских кодов и информации об уровне посещения.

По мнению авторов статьи, DIPOLE может значительно повысить производительность по сравнению с традиционными современными подходами к прогнозированию диагноза.

Использованная литература:

[1] Понимание LSTM (27 августа 2015 г.): https://colah.github.io/posts/2015-08-Understanding-LSTMs/

[2] DIPOLE (19 июня 2017 г.): https://arxiv.org/pdf/1706.05764.pdf

[3] Bi-LSTM с реализацией Attention (22 августа 2021 г.): https://analyticsindiamag.com/hands-on-guide-to-bi-lstm-with-attention/

Спасибо за чтение