Научная статья на тему 'Диагностика заболеваний методами нейросетевого моделирования'

Диагностика заболеваний методами нейросетевого моделирования Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Татаринцев Павел Борисович

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

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

Diagnostics of the diseases by neural networks modeling methods

The neural network model, which on result of the examination of the patient can give the diagnostic conclusion about presence beside given patient opistorhys. The Model marketed in the manner of program on language Turbo Pascal 7.0. In article is brought thumbnail sketch to models and results of the testing given models on adequacy. At present program is found in step of introduction in medical institutions of Barnaul.

Текст научной работы на тему «Диагностика заболеваний методами нейросетевого моделирования»

УДК 51-7

П.Б. Татаринцев

Диагностика заболеваний методами нейросетевого моделирования

Введение

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

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

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

Программа диагностики описторхоза методами нейросетевого моделирования

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

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

После предварительного сбора данных была получена выборка из 156 случаев. Она содержит данные группы заболевших - 80 случаев и данные контрольной группы (не болеющие описторхозом) - 76 случаев. В каждом случае брались анализы крови, и определялись клинические признаки. В результате для каждого пациента получен набор из 11 параметров (3 числовых, 8 - номинальных). Каждому пациенту выставлен достоверный диагноз. Диагноз формирует еще одну - двенадцатую переменную, которая является номинальной.

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

Один из этапов препроцессирования, когда все значения номинальных переменных заменяются числовыми кодами. Каждая номинальная переменная может принимать только два значения - «признак имеется» и «признак отсутствует». В качестве числовых кодов выбраны числа 1 и -1 соответственно. Имеющиеся данные сохранены в файл, в котором каждая строка представляет собой отдельный случай. Значения переменных в строке отделяются пробелами.

Исходная выборка случайным образом поделена на две части. Первое множество - 118 случаев является обучающим, второе (38 случаев является тестовым. Создан файл с обучающими данными.

Диагностика заболеваний методами нейросетевого моделирования

Модель нейронной сети построена с помощью языка программирования TURBO PASCAL 7.0. Разработан алгоритм и интерфейс пользователя.

В программе реализована модель трехслойного персептрона. В первом слое - 11 нейронов, во втором - 2, в третьем 1 нейрон. Каждый нейрон представлен в памяти в виде записи со следующими полями: поле W -массив весовых коэффициентов нейрона, поле G - массив компонент вектора направления. Каждый слой в памяти представлен в виде записи со следующими полями: поле N - массив нейронов, поле X - массив ответов нейронов слоя. Нейронная сеть Network -это объект, содержащий массив слоев L и подпрограммы для работы с нейронами сети.

При первом запуске программы запускается подпрограмма обучения нейронной сети. Сначала выполняется чтение обучающих примеров из файла в память. Создается обучающий массив Examples (118 x 12). Затем значения числовых переменных нормируются (второй этап препроцессирования) - диапазон изменения приводится к интервалу [-1, 1]. Максимальные значения числовых переменных определены заранее и заложены в программу. Обучение нейронной сети производится методом обратного распространения. Требуется минимизировать функцию ошиб-

1 156

ки E(W) = (Net(X ) - Y )2 . Строится по-

2 г=1

следовательность {Е^^} не возрас-

тающая. W0 - выбирается случайным образом. На каждом шаге вычисляется вектор градиента функции Е по принципу двойственности (CalcGrad) и сохраняется в компонентах G нейронов. Запускается алгоритм частной минимизации вдоль выбранного направления G. Минимизируется функция Е+ aG1) на интервале [-1,0] методом золотого сечения. Обучение останавливается в одном из случаев: если достигнуто значение Е < 0,01, модуль градиента равен нулю или выполнено 64000 шагов. Весовые коэффициенты обученной сети сохраняются в файл.

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

Диалог выполнения теста (см. рис.) содержит три числовых поля и 8 переключателей. После заполнения формы и нажатия кнопки «Тест» пользователь получает результат теста в виде текстового сообщения («положительный» или «отрицательный»), сопровождаемого численным ответом сети.

Рис. Интерфейс пользователя программы

Проверка с помощью тестового множества доказала состоятельность данного теста. Показатели чувствительности и специфичности теста для тестового и обучающего множеств составили 100%.

Сравнение качества классификации нейросетевой модели с качеством классификации дискриминантного анализа

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

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

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