Машинное обучение, потоковый Интернет вещей и подключенные медицинские устройства

искусственный интеллект Интернет вещей
Машинное обучение, потоковый Интернет вещей и подключенные медицинские устройства

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

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

Интернет вещей постоянно генерирует данные

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

  • Здравоохранение: постоянный мониторинг хронических заболеваний
  • Умные города: управление транспортными потоками и заторами
  • Производство: структурная оптимизация и прогнозирование потребности в техническом обслуживании здания.
  • Транспорт: планирование маршрута, снижение расхода топлива
  • Автомобили: Беспилотные автомобили
  • Телекоммуникации, передача информации: проверка аномалий
  • Розничная торговля: рекомендации по рекламе на основе местоположения

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

Изображение предоставлено: https://www.wsj.com/articles/the-smart-medicine-solution-to-the-health-care-crisis-1499443449*

Стэндфордский УниверситетРезультаты исследовательской группы 2019 года показывают, что модели машинного обучения могут учиться на электрокардиограммах (ЭКГ) лучше, чем эксперты.EKG) выявили аритмию.

Как говорит Майкл Чуи из Глобального института McKinsey: «Датчики, размещенные на пациентах, могут обеспечить удаленный мониторинг в режиме реального времени, чтобы обеспечить раннее предупреждение, чтобы избежать обострений и дорогостоящего лечения хронических заболеваний. А лучшее лечение только при застойной сердечной недостаточности может сэкономить 1 миллиард долларов США в год на расходах».

Данные мониторинга можно анализировать в режиме реального времени, и при необходимости лицам, осуществляющим уход, отправляются оповещения, чтобы они могли мгновенно понять изменения в состоянии пациента. Крайне важен низкий уровень ложных срабатываний и аномальных предупреждений о реальных чрезвычайных ситуациях;Пациент UCSF умер после приема в 39 раз больше обычной дозы антибиотиков.. Предупреждение о 39-кратной передозировке и предупреждение о 1%-ной передозировке выглядят одинаково, настолько, что врачи и фармацевты, которые видели слишком много предупреждений, часто не читают предупреждения.

В этой статье мы обсудим применение потокового машинного обучения для обнаружения аномалий в данных кардиомониторинга, используя этот пример, чтобы показать, как можно применять цифровые технологии здравоохранения. Мы подробно обсудим, как технология может контролировать точность срабатывания предупреждений, чтобы уменьшить количество ложных срабатываний. Подробности об этом приложении см.здесьЗагрузите PDF-файл, чтобы просмотреть приложение, основанное на Теде Даннинге и Эллен Фридман.Practical Machine Learning: A New Look At Anomaly Detection. (Полный адрес загрузки кода прикреплен в конце статьи)

Что такое машинное обучение?

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

Что такое обнаружение аномалий?

Обнаружение аномалий является примером метода обучения без учителя.

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

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

Построение модели путем кластеризации

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

Чтобы смоделировать нормальное поведение сердечных сокращений, мы обработали ЭКГ и разделили ее на сегменты примерно по 1/3 секунды (данные были извлечены у конкретного пациента или группы многих пациентов, сегмент за сегментом перекрывался), после чего был применен алгоритм кластеризации для группировки. подобные формы волны.

Алгоритмы кластеризации могут группировать данные, которые встречаются в наборе данных. После обучения алгоритма кластеризации выборки можно классифицировать по соответствующим категориям путем анализа сходства между входными выборками.K-meansАлгоритм кластеризации делит наблюдения на K групп, и к какой группе принадлежит каждое наблюдение, зависит от того, от какого центра кластера находится кратчайшее расстояние от выборки.

В следующем коде Apache Spark мы немного поработали:

  • Преобразование данных ЭКГ ввектор.
  • Создайте объект K-средних и установите количество кластеров и максимальное количество итераций для обучения алгоритму кластеризации.
  • Обучите модель на входных данных.
  • Сохраните модель для дальнейшего использования.

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

Обработка потоковых данных в реальном времени с использованием моделей, полученных из обычных данных.

Чтобы сравнить полученные данные реальной ЭКГ с нормальным поведением сердцебиения, смоделированным на предыдущем шаге, когда кривая сердцебиения достигает области перекрытия на зеленой кривой на левом изображении, мы можем получить соответствующую нормальную кривую, например, красную на средний Как показано на кривой, нормальная кривая ЭКГ, похожая на зеленую кривую слева, может быть получена путем наложения двух красных кривых. (Чтобы восстановить форму волны из перекрывающихся срезов, мы умножаем оконную функцию на основе синуса)

В приведенном ниже коде Apache Spark мы сделали следующие шаги:

  • Используйте метод foreachRDD DStream для обработки каждого RDD в DStream.
  • Разберите данные ЭКГ в вектор.
  • Категория нормальной формы волны, соответствующая форме волны в текущем временном окне, получается с использованием модели кластеризации.
  • Создайте сообщение с полученным в настоящее время идентификатором класса, 32 фактическими точками наблюдения ЭКГ и 32 реконструированными точками данных ЭКГ.
  • передавать расширенную информацию другомуMapR-ES topic

Отображать фактическую наблюдаемую ЭКГ и реконструированную нормальную кривую ЭКГ на приборной панели в реальном времени.

Мы использовали набор инструментов для создания интерактивных управляемых временем микросервисов.Vert.xдля создания веб-приложения в режиме реального времени, отображающего наблюдаемые кривые ЭКГ и реконструированные нормальные данные ЭКГ. В этом веб-приложении:

  • Клиент Vert.x Kafka использует расширенные данные ЭКГ из раздела MapR-ES и отправляет сообщения в шину событий Vert.x.
  • Клиент браузера JavaScript подписывается на шину событий Vert.x и использует SockJS для отображения наблюдаемой кривой ЭКГ (зеленый) и реконструированной ожидаемой кривой (красный).

аномальное обнаружение

Разница между наблюдаемой кривой ЭКГ и ожидаемой формой волны ЭКГ (зеленая кривая минус красная кривая) является ошибкой реконструкции, также называемой остатком (соответствует желтой кривой ниже).Если невязка велика, то может быть аномалия.

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

Алгоритм T-дайджеста может оценить размер ошибки реконструкции на основе распределения набора данных. Добавив этот алгоритм в рабочий процесс обнаружения аномалий, вы можете установить количество предупреждений в процентах от общего числа наблюдений. Алгоритм T-digist может очень точно оценить свое распределение (особенно длиннохвостое распределение, которое также является распределением выбросов, на которых мы обычно фокусируемся) с умеренным количеством выборок. После получения оценки распределения можно установить порог для генерации оповещения. Например, установка порога на уровне 99 % приводит к примерно одному сигналу тревоги на 100 перестроек, что может привести к относительно большому количеству сигналов тревоги (по определению аномалии, это должно быть нечасто). Если установлено значение 99,9%, сигнал тревоги будет появляться только один раз на каждые 1000 перестроек.

Суммировать

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

В различных сценариях IoT предприятия должны собирать и обобщать данные, чтобы понять всю группу устройств, чтобы понять события и ситуации, которые могут произойти. Кроме того, согласноДжек Норрис из MapRТем не менее, предприятия также должны вводить интеллектуальные данные в граничные события, чтобы они могли быстрее реагировать на них. Наличие общей структуры данных помогает обрабатывать все данные одинаково, контролировать доступ к данным и применять интеллектуальные алгоритмы быстрее и эффективнее.

Цитаты и дополнительная литература