Научная статья на тему 'НЕЙРОСЕТЕ-ВОЙ МЕТОД ДЛЯ ПРОГНОЗИРОВАНИЯ СОСТОЯНИЯ БОЛЬНОГО'

НЕЙРОСЕТЕ-ВОЙ МЕТОД ДЛЯ ПРОГНОЗИРОВАНИЯ СОСТОЯНИЯ БОЛЬНОГО Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
79
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / БАЗА ЗНАНИЙ / ПРОГНОЗИРОВАНИЕ В МЕДИЦИНЕ / НЕЙРОННАЯ СЕТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Аюпов Ильнур Рашидович, Гончаров Виктор Анатольевич, Лукьянов Игорь Вячеславович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Аюпов Ильнур Рашидович, Гончаров Виктор Анатольевич, Лукьянов Игорь Вячеславович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHOD FOR PREDICTING STATE OF A PATIENT BASED ON NEURAL NETWORK

A model of predicting a patient state based on the neural networks has been created. The activation and error functions of the neural network have been investigated. A high correlation of the numerical results and the medical practice observations has been achieved.

Текст научной работы на тему «НЕЙРОСЕТЕ-ВОЙ МЕТОД ДЛЯ ПРОГНОЗИРОВАНИЯ СОСТОЯНИЯ БОЛЬНОГО»

УДК 519:21:27

Нейросетевой метод для прогнозирования состояния больного

112 И.Р. Аюпов , В.А. Гончаров , И.В. Лукьянов

1 Национальный исследовательский университет «МИЭТ» 2Российская медицинская академия последипломного образования (г. Москва)

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

Ключевые слова: математическая модель, база знаний, прогнозирование в медицине, нейронная сеть.

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

- на основе вероятностных методов (для повышения достоверности результата требуется большой объем наблюдений);

- на основе экспертных систем, зависящих от привлеченных в качестве экспертов специалистов, а в алгоритме реализации приходится использовать большое количество правил «если - то».

- на основе нейронных сетей. Этот метод получает все более широкое применение в медицинской практике из-за возможности обучения сети с увеличением объема достоверной информации и, как следствие, адаптации к возможным изменениям объекта исследования [1].

Постановка задачи. Цель настоящей работы - поддержка принятия решений врачами в области онкологической урологии: в предупреждении, профилактике и лечении рака предстательной железы, который является наиболее широко распространенным заболеванием у мужчин старшего возраста [2]. Для построения базы знаний выбран метод нейронных сетей. В результате построен большой распределенный параллельный процессор, состоящий из элементарных единиц обработки информации - нейронов, которые накапливают экспериментальные знания, в результате чего сеть обучается. Математическая модель построена на базе Neural Network Toolbox Matlab.

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

© И.Р. Аюпов, В.А. Гончаров, И.В. Лукьянов, 2013

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

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

Подготовка входных данных. Для формирования базы знаний важно определить, какую информацию могут предоставить медицинские специалисты для нейронной сети. Для достижения этой цели необходимо провести кропотливую работу с врачами: составить специальный вопросник для сбора данных о больных, уточнить медицинские термины, чтобы заполнение вопросника было воспроизводимым и одинаково понятным врачам определенной квалификации. Все правила лечения и результаты исследований должны быть описаны в привычных медицинских терминах, но достаточно четких, однозначно интерпретируемых экспертами [3]. Данные о конкретном пациенте образуют вектор (сигнал), часть координат которого содержит идентификационные данные (ФИО больного, возраст, контактные данные), а другая - отображает количественные сведения о состоянии здоровья: результаты лабораторных исследований, обработанные результаты заполненных вопросников, сведения из истории болезни. Множество пар сигналов, каждая из которых состоит из входного сигнала и соответствующего ему выходного сигнала, являются обучающими данными для нейронной сети. При этом их необходимо предварительно разделить на группы, чтобы сходные входные сигналы формировали в обучающей выборке единое представление, т.е. должны быть классифицированы как принадлежащие к одной группе. Эта процедура позволит избежать погрешности в обучении в случае, когда данные о конкретном пациенте (т.е. какая-то пара сигналов) являются скорее исключением. Чтобы определить корректность разделения, следует воспользоваться одним из следующих приемов. Вычислить евклидово расстояние между входными векторами, где X <-г), X() - векторы с данными паци-

ентов с номерами / и у. ё (X(гX(-/)) =

X(1) - X

(})

А

2 (XI1' - X(kJ)y (где т - размер-к=1

ность векторов X(1), X(7)). Найти скалярное произведение векторов

( X(1), X(у)) = 2 X(1) Xр

к к

деленное на нормы этих векторов

к=1

X

(1)

X1

О)

, которое ото-

бражает косинус внутреннего угла между ними. Эти зависимости обратно пропорцио-

X(1) - X ^

и минимизации скаляр-

нальны, при максимизации евклидова расстояния

ного произведения ( X<(г), X ^ ) сходство между векторами X<(г), X ^ уменьшается. Это позволяет корректно разделить обучающие данные на группы. Входной вектор - это структурированная информация о конкретном пациенте, что дает возможность выяснить, какие пациенты будут классифицированы как принадлежащие к одной категории.

т

т

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

N..

Уг = ат^СХ )' (1)

]=1

где уг - выходной сигнал /-го нейрона; X] - входные сигналы от других нейронов, находящихся на предыдущем слое (X = (хх,•••, •%. ) - входной вектор для /-го нейрона);

Wij - веса межнейронных связей. Для функции активации (1) характерно усиление слабых сигналов в области нуля и ослабление сильных сигналов в области больших значений аргумента. Следует отметить, что обобщенная аппроксимационная теорема [4] обосновывает возможность получения точного приближения любой непрерывной функции многих переменных с помощью непрерывной нелинейной функции одного переменного, к примеру арктангенс. Исследование арктангенса (1) на имеющихся медицинских выборках показало наилучший результат на обоих имеющихся массивах данных, по сравнению с результатом работы нейронной сети с другими функциями активации: гиперболический тангенс и сигмоида, на 7-11% (таблица).

Вероятность верного определения диагноза в зависимости от различных функций активации и влияние изменения начальных условий

Количество пациентов fx) = arctg(x) Гиперболический x —x Si \ e — e тангенс f (x) =- ' X . -x e + e Логистическая функция f (x) = 7^x 1 + e x

Новые начальные условия

156 0,89* 0,75** 0,82* 0,71** 0,83* 0,72**

120 0,80* 0,69** 0,78* 0,68** 0,77* 0,70**

* - с генерацией, ** - без генерации

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

Nout

E = £ (tt log y + (1 - tt) log(1 - y )), (2)

2=1

где ti - значения, которые должны быть на выходе каждого нейрона, чтобы на выходе нейронной сети были достоверные (целевые) результаты; yi - фактические значения на выходах нейронов, которые должны стремиться к значениям ti.

Данная функция ошибки вычисляется для каждого слоя в обратном направлении от последнего к первому слою для всей нейронной сети.

В процессе обучения нейронной сети [5] происходит подстройка синаптических весов до тех пор, пока не будет получен набор wiJ, удовлетворяющих условию E < р, где

р - максимально допустимая величина ошибки, которая заранее определена.

Изменение весовых коэффициентов происходит по правилу Уидроу-Хоффа [6]. Таким образом, ошибка в уровне активности каждого нейрона сети определяется вели-

„ dE („л „

чиной Oy =--т—, где Wy ' - вес j-го нейрона слоя n, который берет начало в i-м

j

нейроне слоя (n-1). Вычисление ошибки происходит следующим образом:

„)

6E 6E dzf

f__jyajy т(„) - V ™(„М„_1)

, ч , ч , ч , так как z= 2 щ х у, то имеем

дщ(п) дz(п) дщ(п) ] 2 1 ]

1] ] ] 1

==*г) 2 (-^7 дд^) = = хг) 2 ^ , учиты-

д] 1 дz]п) 1 2 ^ +1) ) 1 2 дz+1) ду(п) д] ), у

^Г1 ^ д^Г1)у(п) (й+1) дЕ (й-1^ (й+1) дЕ ду]п)

вая, что —= 2 -. , = ), получим —— = х( ) 2 щ] )—-г-—]— -

, ду ( 2 ду ] д] 1 2 дz1 дz(й)

данное значение будет верно для промежуточных слоев. Для выходного слоя имеем

д^ = _сьу = = („ _i) _e = („ _i) dy„

(„) я_(„) я,.,(„) 1 а_(„) 1 »..(„) я_(„

= = x(„ )—— = x(„ )——--f—, т.е. для вычисления ошибок вы-

11

дЩп) дz(п) дЩп) 1 дz(п) 1 дуП ^(п)

1] ] 1] ] ^] ]

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

дЕ дЕ дук"+1)

предыдущем шаге:

dz(„+1) ду(„+1) dz(„+1) ■

-к ^Ук ^к

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

щ . Изменение щ ведет к уменьшению 5] , приближающему величины Zj = 2 Щух] ,

1=1

и следовательно, ук = агС;§(^ ) к желаемым. При этом Е стремится к минимально возможным значениям. Добиться наилучшего приближения для zi е Я можно с помощью линейной комбинации 2 ЩуХ, , т.е. можно найти такой элемент 2 Щх . , что

N

z _ > w0 X

I'

y=1

= E = inf

x1...x„

N

z _ ? w0 X

I'

y=1

Метод изменения начальных значений весовых связей. При построении нейронной сети имеется много различных методов улучшения качества алгоритма с обратным распространением ошибки. Особое внимание при обучении сети следует уделить организации поиска глобального минимума целевой функции, которая описывает в многомерном пространстве функцию ошибок. Предлагаемая модификация поиска решения делает возможным более точное нахождение глобального минимума. Алгоритм заключается в повторном поиске локального минимума (генерации новых начальных условий с изменением радиуса поиска) после достижения локального минимума при текущих начальных условиях. При достижении (с заданной точностью E) из разных начальных условий одного и того же минимального значения ошибки обучения максимального количества раз нейронная сеть считается обученной. Математический процесс обучения нейронной сети описывается следующим образом: в процессе функционирования нейронная сеть формирует выходное значение y' е Y, где

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Y = (y...yw () - все возможные варианты на выходе нейронной сети в соответствии с

входным сигналом X' е X, здесь X' = (xv..xm) - вектор входных значений, который определяется количеством значимых переменных m для конкретной задачи прогнозирования при численной реализации функции F: y' = F(X'); X - множество возможных входных векторов X. Вид функции F определяется значениями синаптических весов Wjj. При этом функция F(X') определяется в процессе обучения, когда подается ограниченное количество входных векторов X' ^ X. Пусть решением задачи (когда для множества входных векторов X определен правильный результат t е Y на выходе нейронной сети) является функция Y = G( X), заданная парами входных-выходных данных

(X, t), для которых t = G(X). Обучение состоит в поиске функции F, близкой к G в смысле функции ошибки E (2), поэтому обучение нейронной сети превращается в задачу многомерной оптимизации и в поиске глобального минимума функции

min E ^ min(F(X) - G(X)), имеющей большую размерность. Таким образом, метод

X X

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

Результаты и обсуждение. Входной вектор частично состоит из идентификационных данных (6 элементов), а также количественных характеристик пациента (19 элементов). Входными переменными для данной нейронной сети являлись предоперационные клинические и патологические параметры 220 пациентов (ПСА, Глиссон, объем предстательной железы, количество остаточной мочи, возраст и др. ). При обучении и тестировании сети были известны результаты диагнозов (стадии ракового заболевания pT) и последующего лечения (динамическое наблюдение, проведение оперативного вмешательства, лечение химиотерапией или гормонотерапией).

Обучение сети велось на 156 пациентах (см. таблицу). Предложенный метод позволил увеличить достоверность результатов обученной нейронной сети, которая используется для прогнозирования рака простаты в больнице им. С.П. Боткина, при проверке на остальных 64 пациентах на 14% (с 75% до 89%), т.е. достоверное прогнозирование было у 48 пациентов и достоверно определен результат для 57 пациентов.

Таким образом, сформулирована математическая модель прогнозирования лечения в онкоурологической практике, разработан алгоритм для рекомендации лечения рака предстательной железы, а также создано программное обеспечение (Urostat) для работы

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

Литература

1. Васильев А.Н., Тархов Д.А., Нейронные сети как новый универсальный подход к численному решению задачи медицинской физики // Нейрокомпьютеры: разработка, применение. - М.: Радиотехника,

2004, № 7, 8. - С. 111-118.

2. Демченко.Н.А., Лукьянов И.В., Аюпов И.Р., Лисовец Ю.П. Актуальные проблемы онкоурологии. Заболевания предстательной железы. Новые технологии в урологии // Медицинский вестник Башкортостана. - 2011. - Т. 6. - № 2. - С. 244-248.

3. Котов Ю.Б. Новые математические подходы к задачам медицинской диагностики. - М.: Едито-риал УРСС, 2011. - 328 с.

4. Горбань А.Н. Обобщенная аппроксимационная теорема и вычислительные возможности нейронных сетей // Сибирский журнал вычислительной математики. - 1998. - № 1. - С. 11-24.

5. Круглов В.В. Искусственные нейронные сети. Теория и практика. - М.: Горячая линия - Телеком, 2001. - 382 с.

6. Ясницкий Л.Н. Введение в искусственный интеллект. - М.: Издательский центр «Академия»,

2005. - 176 с.

7. Басканова Т.Ф., Ланкин Ю.П. Самоадаптирующиеся нейронные сети. - Препринт. - Красноярск, 2000. - С. 17-24. - (Ин-т биофизики СО РАН № 3).

8. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М.: Бином. Лаборатория знаний, 2003. - 632 с.

9. Хайкин Саймон. Нейронные сети. Полный курс. - М.: ООО «И. Д. Вильямс», 2006. - 1104 с.

Статья поступила после доработки 20 мая 2013 г.

Аюпов Ильнур Рашидович - аспирант кафедры высшей математики-1 МИЭТ. Область научных интересов: математическое моделирование, нейронные сети, моделирование в медицине.

Гончаров Виктор Анатольевич - профессор кафедры высшей математики-1 МИЭТ. Область научных интересов: математическое моделирование, вычислительная математика, методы оптимизации. E-mail: vagonch@gmail.com

Лукьянов Игорь Вячеславович - доцент кафедры урологии и хирургической анд-рологии Российской медицинской академии последипломного образования (г. Москва). Область научных интересов: практическая хирургия, современные компьютерные методики лечения в онкоурологии.

i Надоели баннеры? Вы всегда можете отключить рекламу.