Найти в Дзене
Университет «Дубна»

ИИ учится выявлять людей с депрессией

Старший преподаватель ИСАУ, руководитель образовательной программы «Программная инженерия» Мария Ушанкова объясняет на конкретном примере, как дата-исследователь может обучить машину выявлять людей, страдающих депрессивным расстройством. Использование машинного обучения позволяет улучшить качество заботы о пациентах, персонализировать подход к ранней диагностике и вариантам лечения депрессии. Так, в открытой библиотеке данных kaggle.com выложен датасет b_depression. Он содержит информацию о 286 домашних хозяйствах: сведения о демографии, доходах, расходах, активах и прочем за период с 1960 по 1961 гг. Анализ этих данных может пролить свет на социально-экономическое положение и благосостояние домохозяйств в этой местности, а также определить риск заболеть депрессией. На примере использования комплекса данных из данного датасета мы можем поговорить о подходе исследователя, об ошибках выбора методики обучения и о качестве данных, на которых будет обучаться машина. Принцип «мусор на входе
Оглавление

Старший преподаватель ИСАУ, руководитель образовательной программы «Программная инженерия» Мария Ушанкова объясняет на конкретном примере, как дата-исследователь может обучить машину выявлять людей, страдающих депрессивным расстройством.

Мария Ушанкова
Мария Ушанкова

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

Так, в открытой библиотеке данных kaggle.com выложен датасет b_depression. Он содержит информацию о 286 домашних хозяйствах: сведения о демографии, доходах, расходах, активах и прочем за период с 1960 по 1961 гг. Анализ этих данных может пролить свет на социально-экономическое положение и благосостояние домохозяйств в этой местности, а также определить риск заболеть депрессией.

Изображение взято с ресурса ru.freepik.com
Изображение взято с ресурса ru.freepik.com

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

Принцип «мусор на входе – мусор на выходе» говорит о том, что если на вход в алгоритм попадают неструктурированные, неточные или неполные данные, то и результат работы модели будет недостоверным.

Беремся за дело

Давайте представим, что начинающему аналитику данных (назовем его Сергей) поручили задачу по разработке модели классификации людей с депрессией. Он должен обучить модель определять склонность людей к депрессии (0 – не страдает, 1 – страдает). Это типичная задача бинарной классификации. В качестве примера он использует вышеупомянутый датасет.

В оригинальном наборе данных 75 столбцов, назначение большинства которых Сергей не понял, поэтому решил их удалить. Осталось 23 столбца: пол, возраст, количество детей, образование, имущество, расходы, работа и т.д. Затем Сергей выполнил необходимую предобработку данных: удалил пропуски, проверил выбросы, сформировал матрицу признаков и вектор целевой переменной.

Данные, которые получил Сергей после предобработки (частично представлены)
Данные, которые получил Сергей после предобработки (частично представлены)

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

Сергей об этом знал, поэтому разделил имеющиеся у него данные в пропорции 25%: большая часть будет отдана модели на обучение, меньшая – останется на тестирование.

В качестве классификатора он выбрал модель логистической регрессии. Несмотря на название, она предназначена именно для классификации объектов, а не для задач регрессии.

Итак, Сергей обучил модель и проверил ее на тестовых данных. Метрика оценки Accuracy (точность), которую он выбрал, показала на тестовых данных неплохой результат – 0,85. Это значит, что она правильно угадала статус 85% людей в тестовой выборке.

Довольный своей работой, Сергей отправился представлять результаты руководителю и заказчику исследования.

Что не так с результатами?

Accuracy – это метрика оценки производительности модели, которая измеряет долю правильных предсказаний по отношению ко всем предсказаниям:

-4

Доля правильных ответов может изменяться от 0 до 1, где 0 – модель ни разу не попала правильно, все ее предсказания ошибочные, а 1 – модель предсказала все идеально.

Вроде бы все просто, но давайте посмотрим на данные повнимательнее.

Всего в данных (до разбиения на обучающую и тестовую выборки) было 1409 людей. Из них людей с депрессией 235, а людей без депрессии 1174. То есть почти в пять раз больше!

Доли объектов двух классов в данных (0 – не страдает, 1 – страдает)
Доли объектов двух классов в данных (0 – не страдает, 1 – страдает)

Если бы Сергей вместо модели логистической регрессии решил построить обычный константный классификатор, который ВСЕГДА предсказывает только 0 (не страдает депрессией), то Accuracy такого классификатора была бы более 80%!

Из чего можно сделать вывод, что Accuracy – далеко не лучший выбор метрики качества, если в данных имеется выраженный дисбаланс классов.

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

О чем забыл Сергей?

Сергею помогла бы матрица ошибок (Confusion Matrix) – это таблица, которая используется в задачах классификации для оценки производительности модели. Она показывает количество верных и ошибочных прогнозов, сделанных моделью на каждом классе. На главной диагонали такой матрицы находится количество предсказаний модели, совпавших с истинными значениями целевой переменной. А под главной диагональю и над ней находятся ошибки первого и второго рода. Так называемые ложноотрицательные и ложноположительные результаты.

Матрица ошибок предсказаний модели на тестовых данных
Матрица ошибок предсказаний модели на тестовых данных

В наших тестовых данных всего 353 человека, из которых людей с депрессией 54, а людей без депрессии 299. Так вот, получившаяся матрица ошибок показывает, что модель верно определила всех здоровых людей, но не увидела ни одного человека с депрессией!

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

Что можно посоветовать Сергею?

Во-первых, аккуратнее относиться к данным на этапе предобработки. В случае Сергея вначале было 75 столбцов, а осталось 23. Возможно, в удаленных столбцах была важная информация, способная повлиять на ход обучения модели. Сергей не должен был удалять их без предварительного анализа, даже если он не понимал их назначения.

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

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

В-четвертых, поработать с признаками до того, как обучать модель. Существуют методы отбора признаков (Feature Selection), методы стандартизации/нормализации числовых данных, которые могут помочь улучшить качество работы модели.

Изображение взято с ресурса ru.freepik.com
Изображение взято с ресурса ru.freepik.com

Текст и изображения: Мария Ушанкова