Введение
Ишемическая болезнь сердца является главной причиной смертности во всем мире. Так, по данным Всемирной организации здравоохранения, от ишемического инсульта в 2016 году умерло 9,43 миллионов человек [1].
Чаще всего медицинские специалисты ставят диагнозы на основе результатов электрокардиографии, ангиографии и анализа крови. На раннем этапе болезнь диагностируется с трудом [2,3], однако для эффективного лечения очень важна ранняя диагностика. Диагнозы ставятся на основе личного опыта и квалификации медицинских работников, что приводит к увеличению рисков допущения ошибок, задержки необходимого лечения, следовательно, и времени лечения, таким образом, наблюдается существенное увеличение затрат на лечение пациента. Чтобы избавиться от этих недостатков, было проведено множество исследований в области клинических систем поддержки принятия решений с использованием таких технологий, как Data mining и машинное обучение.
Из методов машинного обучения, которые были использованы для прогнозирования риска развития данной болезни, для повышения точности работы широко используются нейронные сети [4,5]. Было проведено большое количество исследований в области прогнозирования риска развития ишемической болезни сердца с использованием машинного обучения. Например, в работе Арабасади [6], опубликованной в 2017 году, была предложена гибридная нейросетевая модель с использованием генетического алгоритма для решения задачи прогнозирования риска развития ишемической болезни сердца. Входные данные были отобраны с помощью генетического алгоритма и предиктор риска развития болезни был смоделирован с помощью нейронной сети. А Нараин [7] в своей работе описал разработку системы прогнозирования риска ИБС, смоделированной с помощью квантовой нейронной сети. Главным отличием данной работы являлось то, что при обучении нейросетевой модели производилось увеличение квантового интервала в соответствии со значением функции стоимости. Кьюкар [8] предложил системы прогнозирования риска развития ишемической болезни сердца с использованием байесовских нейронных сетей на основе данных ЭКГ.
Несмотря на то, что разработанные программные средства на основе нейронных сетей дали значимые результаты для клинических экспериментов, медицинские специалисты недовольны характерными для данной технологии свойствами «черного ящика» [9], вследствие чего прогностические модели обучаются без знания взаимосвязи между входными признаками и выходами нейронной сети. Так как для прогнозирования в медицинской сфере прогностическая модель должна объяснять логику своей работы, данная проблема является серьезным ограничением.
Таким образом, работа посвящена разработке системы прогнозирования риска развития ишемической болезни сердца на основе нейронной сети с использованием корреляционного анализа признаков, лишенной проблемы «черного ящика».
Материалы и методы
Искусственная нейронная сеть - это статистическая модель, имитирующая принцип работы биологических нейронных сетей. Обучение нейронной сети заключается в модификации синаптических весов. Сходства искусственной нейронной сети с мозгом заключаются в двух аспектах:
· Информация поступает в нейронную сеть извне и используется в процессе её обучения;
· Для накопления знаний применяются синаптические веса, которые могут быть настроены с помощью алгоритма обучения.
В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными и выходными данными, а также выполнять обобщение [10]. Следовательно, после удачного обучения сеть будет способна выдавать корректные результаты для новых данных, которые могут быть даже частично искажены.
Систему прогнозирования риска развития ишемической болезни сердца было решено построить на основе многослойной нейронной сети прямого распространения, поскольку данная архитектура относительная проста и широко применяется для прогнозирования. В качестве входных данных будут выступать признаки категориального или количественного типа, которые характеризуют историю болезни пациента. Модель будет устроена так, чтобы категориальные данные передавались в сеть отдельно от остальных и обрабатывались специальным скрытым слоем, поскольку для работы с такими данными необходимо привести их к удобному для работы представлению.
Главное правило анализа категориальных данных в нейронных сетях заключается в том, чтобы каждая категория характеризовалась своим входным сигналом. Чтобы это выполнить, можно использовать векторные представления, что позволит сопоставить вектор из действительных чисел к каждой категории. Самым распространенным и широко используемым методом преобразования категории в вектор является прямое кодирование. При использовании прямого кодирования мы получаем разреженную матрицу, где каждый новый столбец представляет одно возможное значение какого-либо одного признака.
Главным недостатком данного метода являются слишком большие затраты физической памяти, из которого следует более длительное обучение нейронной сети или даже ухудшение итоговых результатов. Другой недостаток прямого кодирования – потеря информации в тех случаях, когда имеет значение порядок категорий.
В настоящей работе использовались специальные отображающие слои, которые работают по принципу таблиц поиска. Для каждого категориального признака создается тензор заданного размера, который заполняется векторами из случайных чисел. После обучения отображающего слоя тензор будет хранить вектора, наиболее близко характеризующие категориальные данные для решаемой задачи. Таким образом, при работе модели и обработке категориальных данных физическая память будет затрачиваться в установленных самим пользователем пределах, а векторное представление данных будет оптимальным для решаемой задачи.
В качестве функции активации нейронов скрытого слоя лучшие результаты дало применение функции «выпрямитель», которая имеет следующую формулу f(x)=max(0,x) и реализует простой пороговый переход в нуле. Нейроны с данной функцией активации называются ReLU. Главные преимущества данных нейронов:
· В отличие от сигмоидальной и тангенциальной функций активации, которые требуют выполнения ресурсоёмких операций, ReLU реализуется с помощью порогового преобразования матрицы активаций в нуле.
· Повышение скорости сходимости стохастического градиентного спуска по сравнению с сигмоидой и гиперболическим тангенсом, обусловленное линейным характером и отсутствием насыщения данной функции.
Для данных, на которых будет обучаться создаваемая модель, количество классов результирующего признака равняется двум: «болен» и «не болен». Однако возможен и анализ данных с большим количеством результирующих классов.
В случае бинарной классификации выходной слой нейронной сети будет состоять из одного нейрона с сигмоидальной функцией активации:
Эта функция позволяет получить выходное значение в диапазоне от 0 до 1. Также она является дифференцируемой, что позволяет применить для обучения сети метод обратного распространения ошибки.
В случае же многоклассовой классификации количество нейронов в выходном слое будет равняться количеству требуемых классов, а их функцией активации будет являться функция Softmax, или же нормированная экспоненциальная функция:
Эта функция является обобщением логистической функции, которое сжимает K-мерный вектор z из произвольных вещественных чисел в K-мерный вектор σ(z) из вещественных чисел в диапазоне от 0 до 1, сумма которых равна 1.
На каждом обучающем примере модель будет выдавать значение, моделирующее нужное вероятностное распределение, а для сравнения двух вероятностных распределений необходима корректная мера. В качестве такой меры будет использоваться бинарная кросс-энтропия. Замена квадратичной функции на функцию кросс-энтропии в функции стоимости зачастую позволяет бороться с насыщением нейронов и ускорять обучение нейронной сети [11]. Кросс-энтропия определяется формулой:
где: x – обучающий пример;
t – желаемый результат;
o – полученный результат.
Посмотрев на формулу, можно заметить, что вклад в функцию стоимости будет низким, если фактический выход близок к желаемому результату. При использовании этой функции наклон кривой стоимости будет намного круче, чем исходная плоская область на соответствующей кривой для квадратичной функции стоимости. Эта крутизна позволяет избежать замедления обучения, что характерно для квадратичной функции стоимости.
Если в качестве функции стоимости нейронной сети в случае многоклассовой классификации применяется категорийная кросс-энтропия, то при бинарной классификации используется бинарная кросс-энтропия, которая является специальной модификацией функции кросс-энтропии и выглядит следующим образом:
где: t – желаемый результат;
o – полученный результат.
Определившись с функцией стоимости, можно приступать к решению задачи минимизации её значения. Для решения будем использовать градиентный метод оптимизации, а именно метод Adam. Это алгоритм градиентной оптимизации стохастических целевых функций, который основан на адаптивных оценках моментов младшего порядка. Он вычисляет индивидуальные адаптивные скорости обучения для разных параметров из оценок первого и второго моментов градиентов. Данный метод прост в реализации, является эффективным с точки зрения вычислительной мощности, имеет небольшие требования к памяти, инвариантен к диагональному масштабированию градиентов и хорошо подходит для задач, которые являются большими с точки зрения данных или параметров. Он также подходит для нестационарных целей и проблем с очень шумными или разреженными градиентами. Гиперпараметры, необходимые для работы алгоритма, имеют интуитивные интерпретации и обычно требуют небольшой настройки. Эмпирические результаты показывают, что Adam хорошо работает на практике и выгодно отличаются от других методов стохастической оптимизации [12]. Данный метод рассматривают как комбинацию импульсивного метода с RMSProp с небольшими модификациями:
1) В Adam импульс непосредственно включен в виде оценки первого момента градиента.
2) Он включает поправку на смещение в оценки как первых моментов, так и вторых моментов для учета их инициализации в начале координат.
Adam считается довольно устойчивым к выбору гиперпараметров, хотя скорость обучения иногда нужно брать отличной от предлагаемой по умолчанию.
Построив модель вышеописанным образом, мы получим полносвязную нейронную сеть, которая будет способна после обучения на обучающем наборе данных предсказывать риск развития ишемической болезни сердца у пациента. Однако модели всё ещё присущи характеристики «черного ящика», вследствие чего она обучается без знания известных взаимоотношений между признаками. Для решения данной проблемы проводился трёхэтапный анализ признаков с соответствующими модификациями первоначальной модели:
1) Отбор значимых признаков с помощью статистических методов;
2) Отбор значимых признаков с помощью нейронной сети;
3) Корреляционный анализ признаков с помощью нейронной сети.
Загрузив в систему набор анализируемых данных, в первую очередь, нужно отсеять признаки, которые никак не влияют на результирующий признак. Данную задачу частично можно решить с помощью статистических методов: U-критерий Манна-Уитни и критерий хи-квадрат Пирсона.
U-критерий Манна-Уитни — это непараметрический критерий статистического вывода, применяемый для проверки различия между двумя группами при использовании порядковых данных [13]. Чем меньше значение критерия, тем вероятнее, что различия между значениями параметра в выборках достоверны.
В том случае, если значение критерия «хи-квадрат» больше критического, можно сделать вывод о наличии статистической взаимосвязи между изучаемым фактором риска и исходом при соответствующем уровне значимости.
После отсеивания незначимых признаков, легко выявляемых с помощью статистического анализа, для дополнительной оптимизации необходимо её продолжить на основе обученной нейронной сети. Для этого введём понятие чувствительности признака Sen(X,xi), которая будет характеризовать вклад, вносимый признаком в результат работы модели. Чувствительность признака вычисляется как среднее значение изменения выхода сети при добавлении к заданному признаку исходных данных xi очень маленького шума δ:
На вход обученной нейронной сети подаётся набор данных, в котором определённому признаку добавляется шум и вычисляется его чувствительность. После вычисления чувствительности всех признаков производится их сортировка в убывающем порядке. Признак с наименьшей чувствительностью является наименее значимым для модели, поэтому его можно исключить. Затем нейронную сеть необходимо переобучить на оставшихся признаках и проверить, не наблюдаются ли потери производительности по сравнению с предыдущей моделью. Если производительность не ухудшается, то процесс повторяется до тех пор, пока не будет определен минимальный список значимых признаков. Схема отбора значимых признаков с помощью нейронной сети приведена на рисунке 1.
Корреляция — это статистическая зависимость между случайными величинами, не имеющая строго функционального характера, при которой изменение одной из случайных величин приводит к изменению среднего другой [14]. Показателем степени тесноты корреляционной связи является коэффициент корреляции r, который может находиться в диапазоне от -1 до 1, т.е. -1 ≤ r ≤ 1.
С целью устранения характеристик «черного ящика» будет применяться корреляционный анализ на основе нейронной сети, базирующийся на показателях чувствительности признаков. Коррелирующие признаки будут определяться в зависимости от взаимного влияния на изменения чувствительности [15]. Иными словами, если усиление значения одного из признаков значимо влияет на чувствительность других признаков, то соответствующие признаки можно рассматривать как коррелирующие. Определив тесноту связи между признаками, перестраиваем исходную модель таким образом, чтобы коррелирующие признаки были связаны с одним скрытым нейроном. Схема корреляционного анализа признаков на основе нейронной сети изображена на рисунке 2.
Результатом последнего этапа будет являться готовая для эксплуатации нейросетевая модель, обученная на медицинских данных и лишенная характеристик «чёрного ящика» благодаря структуре, учитывающей известные взаимосвязи признаков.
Выбор средств разработки был осуществлен исходя из требования высокой скорости и эффективности разработки. Для разработки системы прогнозирования был выбран следующий набор технологий:
· язык программирования Python;
· нейросетевая библиотека Keras [16];
· библиотека для обработки и анализа данных pandas [17].
Для выбранных средств характерны удобство использования в сочетании с хорошим быстродействием, широким функционалом и высокой производительностью.
Результаты и обсуждение
В качестве анализируемой выборки взята свободная база данных результатов различных обследований пациентов Кливлендской клиники [18]. Она включает в себя 303 записи и содержит 76 атрибутов, но рекомендуется работать лишь с 14 из них. В таблице 1 приведено описание признаков анализируемой выборки.
Таблица 1: Описание признаков анализируемых данных
Обозначение |
Название признака |
Тип признака |
age |
Возраст |
Непрерывный |
sex |
Пол |
Категориальный |
cp |
Тип боли в грудной клетке |
Категориальный |
trestbps |
Остаточное артериальное давление |
Непрерывный |
chol |
Холестерин |
Непрерывный |
fbs |
Уровень сахара в крови натощак |
Категориальный |
restecg |
Результат ЭКГ в состоянии покоя |
Категориальный |
thalach |
Максимальная ЧСС во время стресс-теста таллия |
Непрерывный |
exang |
Индуцированная стенокардия |
Категориальный |
oldpeak |
Депрессия сегмента ST, вызванная физическими упражнениями относительно покоя |
Непрерывный |
slope |
Наклон пика сегмента ST |
Категориальный |
ca |
Количество крупных сосудов при рентгеноскопии |
Дискретный |
thal |
Результат таллийного стресс-теста |
Категориальный |
num |
Болезнь сердца |
Категориальный |
В качестве обучающей выборки были взяты 70% записей, а оставшиеся 30% использовались как проверочная выборка для оценки производительности системы.
Результаты применения критериев Манна-Уитни и хи-квадрат с уровнем значимости, равным 0,05, показывают, что незначимыми для результата признаками являются fbs и restecg. Поэтому убираем все значения этих атрибутов из обучающей и проверочной выборок.
Таким образом, первоначальная модель нейронной сети будет состоять из 11 входных нейронов, 4 нейронов скрытого слоя и одного выходного нейрона.
Точность модели, обученной на нормализованной обучающей выборке, состоящей из 212 записей, в течение 10 эпох на проверочной выборке из 91 записи составила 91,11%.
В результате отбора признаков на нейронной сети, самыми значимыми признаками являются sex, thal и cp, а незначимым признаком является age. Сеть была переобучена с данными, не включающими данный признак, что привело к деградации производительности модели с 91,11% к 86,67%.
Корреляционные характеристики каждого признака были определены в соответствии с взаимным воздействием на изменения чувствительности. Выяснилось, что коррелирующие признаки влияют на изменение чувствительности друг друга за счет усиления одного признака. Коррелирующими между собой признаками являются chol, cp, exang, sex, slope, thal, thalach и trestbps.
На основании корреляции признаков строим новую модель нейронной сети, в которой коррелирующие признаки связаны с одним и тем же скрытым нейроном. Схема итоговой оптимизированной модели представлена на рисунке 3.
Производительность итоговой модели сравнивалась с классификатором SVM, обычной полносвязной нейронной сетью и наивным Байесовским классификатором.
Задача классификации и регрессии с помощью метода SVM имеет целью разработку алгоритмически эффективных методов построения оптимальной разделяющей гиперплоскости в пространстве признаков высокой размерности [19]. Наивный байесовский классификатор же основан на применении теоремы Байеса со строгими предположениями о независимости входных данных [20].
В качестве критериев оценки производительности, кроме точности, использовались положительное (PPV) и отрицательное предсказывающие значения (NPV). PPV показывает вероятность заболевания при положительном прогнозе, NPV же характеризует вероятность отсутствия заболевания при отрицательном прогнозе.
Таблица 2: Сравнительный анализ методов прогнозирования
|
PPV |
NPV |
Точность |
Предлагаемая модель |
0,92 |
0,92 |
92,22% |
SVM |
0,86 |
0,87 |
86,67 % |
Наивный Байесовский классификатор |
0,84 |
0,88 |
86,67 % |
Полносвязная нейронная сеть |
0,91 |
0,90 |
91,11 % |
Из таблицы 2 мы видим, что классификатор SVM вместе с наивным Байесовским классификатором показали более слабые результаты, чем нейронная сеть. Предложенная модель выступила лучше обычной нейронной сети, поскольку она удаляет ненужные признаки во время обучения модели. Иными словами, отбор признаков на основе чувствительности может эффективно выявлять признаки, связанные с риском развития ишемической болезни сердца.
В итоге, можно утверждать, что предлагаемая модель очень хороша с точки зрения производительности и эффективна в прогнозировании риска развития ишемической болезни сердца.
Немало исследований проведено для прогнозирования риска ишемической болезни сердца и в большинстве случаев были использованы нейронные сети и линейные регрессоры. Согласно полученным результатам, для создания более эффективных моделей нейронных сетей необходимо учитывать значимость признаков для результатов работы модели и отсеивать незначимые признаки.
Заключение
Предложенная модель нейронной сети с использованием корреляционного анализа признаков показала более высокую точность (92,22%) в прогнозировании риска развития ишемической болезни сердца по сравнению с наивным байесовским классификатором, SVM и полносвязной нейронной сетью и доказала, что может быть более полезной в предварительной диагностике пациентов.
Система медицинского прогнозирования, разработанная в рамках данной работы, имеет большую практическую значимость, поскольку её внедрение может повысить оперативность и точность предварительной диагностики пациентов. Представленный подход к её реализации, основанный на технологиях Keras, pandas и PyQt, имеет значительные преимущества в сравнении с большинством использующихся на настоящий момент разработок. Pandas распространяется под свободной лицензией BSD. Keras распространяется под свободной лицензией MIT. PyQt распространяется под свободной лицензией GPL.
архив: 2013 2012 2011 1999-2011 новости ИТ гость портала 2013 тема недели 2013 поздравления