Научная статья на тему 'Компьютерная программа диагностики вирусного гепатита'

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

CC BY
295
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИРУСНЫЙ ГЕПАТИТ

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

Целью данной работы является исследование и создание нейронных сетей, позволяющих эффективно распознавать лабораторную характеристику вирусного гепатита для его скрининга без привлечения дорогостоящих методов ИФА и ПЦР. Изучено 300 историй болезни, использовано 36 показателей на основе: общего анализа крови, биохимического, иммунологического. Полученные данные применили для обучения и экспериментов с нейронными сетями. Были сформированы обучающая и тестовая выборки, каждая из которых содержала данные о 75 донорах и 75 пациентах, страдающих вирусными гепатитами. Разработанная нейросетевая экспертная система позволяет диагностировать вирусный гепатит по 6 или 25 показателям.

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

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

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

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

УДК 616.36-002.14-073.755

А. А. Соломаха, В. В. Артюхин, В. И. Горбаченко, В. И. Никольский

КОМПЬЮТЕРНАЯ ПРОГРАММА ДИАГНОСТИКИ ВИРУСНОГО ГЕПАТИТА

Целью данной работы является исследование и создание нейронных сетей, позволяющих эффективно распознавать лабораторную характеристику вирусного гепатита для его скрининга без привлечения дорогостоящих методов ИФА и ПЦР. Изучено 300 историй болезни, использовано 36 показателей на основе: общего анализа крови, биохимического, иммунологического. Полученные данные применили для обучения и экспериментов с нейронными сетями. Были сформированы обучающая и тестовая выборки, каждая из которых содержала данные о 75 донорах и 75 пациентах, страдающих вирусными гепатитами.

Разработанная нейросетевая экспертная система позволяет диагностировать вирусный гепатит по 6 или 25 показателям.

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

Известны эффективные методы лабораторной диагностики вирусных гепатитов: иммуноферментный анализ (ИФА) и полимеразно-цепная реакция (ПЦР). Однако они являются дорогостоящими методами. Затраты на проведение ИФА и ПЦР превышают современные затраты на оказание лечебных мероприятий. Таким образом, с целью массового обследования населения (скрининга) применение ИФА и ПЦР не является целесообразным. Поэтому необходимо использовать менее дорогостоящие и более доступные методы диагностики, в том числе компьютерные. В медицине достаточно популярны статистические методы. Однако их применение в рассматриваемой области имеет объективные ограничения из-за нечеткой трактовки моделей нормы, адаптации и патологии. В этой связи последние годы характеризуются широким применением нейросетевых технологий в медицинской практике [2, 3]. Следует указать, что нередко диагностическая эффективность прогнозных моделей варьирует в пределах 70-85% [4]. Важной задачей применения нейронных сетей в медицинских исследованиях является необходимость повышения достоверности прогноза.

Целью данной работы является исследование и создание нейронных сетей, позволяющих эффективно распознавать лабораторную характеристику вирусного гепатита для его скрининга без привлечения дорогостоящих методов ИФА и ПЦР.

Для решения задачи нейросетевой диагностики вирусного гепатита были сформированы две группы наблюдений. Первую группу наблюдений составили 150 здоровых доноров отделения переливания крови Пензенской областной клинической больницы им Н. Н. Бурденко, вторую - 150 больных вирусными гепатитами В и С в фазе репликации отделения гепатологии. Всего изучено 300 историй болезни. Использовано 36 показателей на основе: общего анализа крови,

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

Данные были статистически обработаны. Вычислялось минимальное и максимальное значение для всех показателей из обучающего и тестового множества; отсутствующие лабораторные показатели выборки заменялись средними значениями по соответствующей группе. Также из исследования исключались резкие выбросы для повышения точности диагностики. В результате получили 23 показателя: гемоглобин, эритроциты, цветовой показатель, лейкоциты, палочкоядерные нейтрофильные лейкоциты (ПНЛ), сегментоядерные нейтрофильные лейкоциты (СНЛ), эозинофилы, лимфоциты, моноциты, скорость оседания эритроцитов (СОЭ), общий белок, мочевина, билирубин, глюкоза, холестерин, p-липопротеиды, сиаловая кислота, аспарта-тамино-трансфераза (АСТ), аланинамино-трансфераза (АЛТ), щелочная фосфатаза, гамма-глутамил-транспептидаза (ГГТ), тимоловая проба, амилаза крови. Также в качестве исходных данных использовали пол и возраст пациентов. Эти данные подвергались кодированию (мужской = 1, женский = -1). Таким образом, для диагностики рационально использовать наибольшее количество показателей (25).

Следующим этапом было понижение размерности исходных данных. Для этого предварительно были получены относительные значения показателей, из которых рассчитывались минимальное, среднее и максимальное значения каждого показателя для больных и здоровых людей. Анализ данных показал, что для диагностики вирусного гепатита можно использовать только 6 показателей (билирубин, аспартатамино-трансфераза, аланинамино-транс-фераза, щелочная фосфатаза, гамма-глутамил-транспептидаза и тимоловая проба). Разброс значений этих показателей у больных и здоровых значительно варьируется. Таким образом, в ходе экспериментов следовало проверить диагностику по 25 и 6 показателям.

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

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

Каждая формула является не более чем ориентиром и не исключает использования метода проб и ошибок.

Для проведения исследований использовался пакет Neural Network Toolbox среды программирования MATLAB 6.5 [6]. Сеть училась диагностировать гепатит по 6 и 25 показателям. Вначале подбиралась оптимальная архитектура нейронной сети. Для выбора оптимальной архитектуры использовался алгоритм обучения Левенберга-Марквардта (функция trainlm) [5]. Выбор этого алгоритма обучения объясняется его быстротой и надежностью. Затем на выбранной сети проводились эксперименты по обучению с использованием алгоритма градиентного спуска. В ходе исследований экспериментально подбиралось нужное количество нейронов скрытого слоя. Количество нейронов в скрытом слое изменялось от 2 до 15. Использование в скрытом слое более 15 нейронов является избыточным и не приводит к положительным результатам. Для большей надежности при каждом изменении количества нейронов проводилось по три эксперимента из-за того, что процесс обучения очень зависит от начальных значений весов и смещений. Для каждой сети считалась средняя и минимальная ошибка. В качестве функции активации для всех сетей использовался гиперболический тангенс. Проводилось масштабирование всех входных векторов (приведение к виду [-1; 1]).

Результаты интерпретировались следующим образом: если выход сети лежал в диапазоне от -0,5 до -1, то входные данные считались принадлежащими больному человеку; если выход лежал от 0,5 до 1 - здоровому человеку. Все ответы сети в интервале от -0,5 до 0,5 считались неопределенными. После всех экспериментов строился график, по которому выбиралась лучшая сеть.

Результаты обучения нейронной сети с шестью нейронами в скрытом слое представлены на рисунке 1.

Ошибка многослойной сети при диагностике по 6 показателям

Количество нейронов в скрытом слое

Средняя ошибка -----Минимальная ошибка

Рис. 1 Ошибка при диагностике по 6 показателям

Как видно из графика, лучшие результаты показала трехслойная нейронная сеть с двумя нейронами в скрытом слое. Средняя ошибка равна 11,3%, а минимальная ошибка - 10%. На рисунке 2 приведен график обучения данной сети.

Performance is 0.08, Goal is 0.01 10 ------------,-----------,----------,----------,--------

5 10 15 20 25 30

__________________________33 Epochs___________________

Рис. 2 Обучение сети с двумя нейронами в скрытом слое

Как показывает график, для обучения сети диагностировать гепатит с ошибкой в 11,3% достаточно всего 33 циклов обучения.

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

Как и следовало ожидать, диагностика по 25 показателям дает несколько лучшие результаты (средняя ошибка сети не превышает 11%). Применение 6 показателей выявило ошибку, не превышающую 12%. Это подтверждает возможность использования сокращенного набора показателей.

После того, как была выбрана оптимальная архитектура нейронной сети и количество используемых показателей, обучение сети проводилось с использованием алгоритма градиентного спуска. Выбор данного алгоритма связан с тем, что остальные алгоритмы обучения требуют больших ресурсов компьютера, что не всегда выполнимо в условиях лечебных учреждений различного уровня. Поэтому целесообразно использовать более медленный, но менее ресурсоемкий алгоритм градиентного спуска. Так как обучение производится очень редко, скорость обучения не имеет решающего значения. В ходе экспериментов подбиралось оптимальное значение шага обучения, обеспечивающее достижение приемлемой ошибки на тестовом множестве и достаточно гладкий процесс обучения. При использовании 6 показателей оптимальным оказался шаг обучения, равный 0,1. При этом ошибка сети на тестовом множестве составила 12%. Для обучения потребовалось 6849 циклов обучения. При использовании 25 показателей оптимальный шаг обучения оказался равным 0,001. Сеть обучилась за 1332 цикла, ошибка на тестовом множестве составила 10%.

Экспериментально подобранные архитектура и параметры нейронных сетей использованы при реализации нейросетевой экспертной системы. Система разработана в среде разработки Borland C++ Builder. Для хранения данных использована СУБД InterBASE.

Система позволяет проводить работу в режимах пользователя и администратора. В режиме пользователя система позволяет зарегистрировать па-

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

Рис. 3 Главная форма, открытая в режиме администратора

Рассмотрим возможности, предоставляемые системой.

При нажатии на кнопку «Первоначальная регистрация пациента» появляется форма «История болезни», содержащая три закладки: «Критерии госпитализации», «Информационная карта обследования» и «Данные стационарного обследования». Эта форма позволяет зарегистрировать впервые поступивших пациентов и добавить данные о уже занесенных в базу.

Закладка «Критерии госпитализации» (рис. 4) содержит поля для ввода первичной информации о пациенте: номера амбулаторной карты, фамилии, имени, отчества, даты рождения, даты поступления, домашнего адреса, места работы, профессии, пола, краткой истории заболевания и жалоб больного, предварительного (рабочего) диагноза и сопутствующего диагноза.

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

Лл История болезни

| Занести данные в базу | | Поиск

Критерии госпитализации | Информационная карта обследования | Данные стационарного обследования |

Паспортные данные пациента.

Номер амбулаторной карты: 1 Дата поступления:

Фамилия: Домашний адрес:

Имя: Месо работы:

Отчество: Профессия:

Дата рождения: П°л: (Мужской

Краткая история заболевения и жалобы больного:

Предварительный (рабочий) диагноз:

Сопутствующий диагноз:

Закрыть

Рис. 4 Закладка «Критерии госпитализации»

Закладка «Данные стационарного обследования» содержит поля для ввода информации о пациенте на момент окончания лечения. Данные стационарного обследования включают в себя: название отделения, номер истории болезни, номер обследования, дату выписки, койко-день, компьютерный диагноз, основной клинический диагноз, осложнения и рекомендации.

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

Разработанная система имеет механизм обучения. При нажатии на кнопку «Обучение многослойной сети» открывается форма, позволяющая пользователю управлять обучением нейронной сети.

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

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

летворяющую заданным ранее параметрам. Для этого следует нажать кнопку «Создание сети». При нажатии на эту кнопку происходит создание сети с заданными параметрами. Также происходит инициализация сети, т.е. случайным образом задаются первоначальные значения для всех весов и смещений в сети. Значения весов и смещений лежат в интервале [-1; 1]. После инициализации сети пользователь может увидеть значения всех весов и смещений.

1иОбучение нейронной сети

Подготовка к работе обучающих данных

Создание сети

Веса нейронов первого слоя:

Вес 0 = -4,6705 Вес 1 =1,7333 Вес 2 = -1,5782 Вес 3 =-3,2153

□бучение

1]

V

Веса нейронов второго слоя:

Вес 0 = 0,073917 Вес 1 =8,1569 Вес 2 = 2,5991

Т вотирование

На тестовом множестве обученная сеть дала '19' неверных ответов.

Т.е. сеть не смогла распознать 12% входных векторов.

Сохранить обученную сеть

ЕВ®

Параметры обучения

1 вектор 2 вектор 3 вектор 4 вектор 5 вектор

Цель (1] и -1 -1 -1 -1

Выход (а] -0,99996 -0,99982 -0,99999 -1 -0,99999

Ошибка (Е) 3,7134Е-5 0,00017822 1,4961 Е-5 2,9802Е-7 1,4305Е -5

< >

1 вектор 2 вектор 3 вектор 4 вектор 5 вектор

Цель (1) и -1 -1 -1 -1

Выход (а) ■0,99725 ■0,72619 ■1 ■1 ■1

Ошибка (Е) 0,0027509 0,27381 0 0 0

< >

Закрыть

Рис. 5 Обученная сеть после тестирования

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

После обучения необходимо протестировать обученную сеть. При нажатии на кнопку «Тестирование» на эту сеть подается тестовое множество и вычисляется значение ошибки на этом множестве. Если ошибка сети на тестовом множестве оказывается больше установленной пользователем величины, процесс обучения следует повторить. Обучение происходит до тех пор, пока ошибка сети на тестовом множестве не станет меньше установленной. Пример окна «Обучение нейронной сети» после тестирования приведен на рисунке 5.

Разработанная нейросетевая экспертная система позволяет диагностировать вирусный гепатит по 6 или 25 показателям. Форма, с помощью которой можно провести диагностику вирусного гепатита по 6 показателям, показана на рисунке 6.

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

1) загрузкой информации из базы данных;

2) вводом данных с клавиатуры.

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

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

1ь Диагностика вирусного гепатита по 6 показателям

Рис. 6 Окно диагностики вирусного гепатита по 6 показателям

Тестирование разработанной экспертной системы на реальных данных

показало результаты, практически совпадающие с результатами, полученными при использовании МАТЬАБ.

Список литературы

1. Калнберзс, В. К. Гемотрансфузия в современной хирургии / В. К. Калнберзс, М. В. Калнберзс, Ю. В. Жукова // Проблемы гематологии и переливания крови. -1999. - № 2. - С. 9-10.

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

2. Горбань, А. Н. Нейронные сети на персональном компьютере / А. Н. Горбань, Д. А. Россиев. - Новосибирск : Наука, Сибирская издательская фирма РАН, 1996. -276 с.

3. Лифшиц, В. Б. Статистический и нейросетевой методы идентификации и прогнозирования в медицине / В. Б. Лифшиц, Т. И. Булдакова, С. И. Суятинов и [др.] // Информационные технологии. - 2004. - № 3. - С. 60-63.

4. Щетинин, В. Г. Применение компьютерных «нейронных сетей» в клинической лабораторной диагностике / В. Г. Щетинин, А. А. Соломаха // Клиническая лабораторная диагностика. - 1998. - № 10. - С. 21-33.

5. Оссовский, С. Нейронные сети для обработки информации / С. Оссовский. -М. : Финансы и статистика, 2004. - 344 с.

6. Медведев, В. С. Нейронные сети МаАаЪ 6 / В. С. Медведев, В. Г. Потемкин. -М. : ДИАЛОГ-МИФИ, 2002. - 496 с.

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