Литература
1. Минаев В.П. // Квант. электроника.-2005.- №11.- С.976.
2. Егоров Ф.А. и др. // ВНМТ.- 2005.- №3-4.- С.112.
3. Mordon S.R., Wassmer B., Zemmouri J. // Lasers in Surgery and Medicine.- 2007.- Vol.39, №3.- Р.256-265.
4. Богачев В. и др. //Ангиол и сосуд. хир.- 2004.- №1.- С.93.
5. Cheng-Jen Chang, Jun—Jin Chua // Lasers in Surgery and Medicine.-2002.- Vol.31, №4.- Р.257-262.
УДК 616.36-002.14-073.755
КОМПЬЮТЕРНАЯ ПРОГРАММА ДИАГНОСТИКИ ВИРУСНОГО ГЕПАТИТА
В. В. АРТЮХИН В. И. ГОРБАЧЕНКО, А. А. СОЛОМАХА*
Важной проблемой службы переливания крови является ранняя диагностика вирусного гепатита. Решение этой задачи мотивируется тенденцией значительного распространения гемотрансмиссивных заболеваний (заболеваний, передающихся при переливании донорской крови). В связи с постоянной трансформацией вирусов гепатита не представляется возможным выработать чёткие критерии диагностики этого заболевания [1]. По этой причине совершенствование методов лабораторной диагностики нередко задерживается. Известны эффективные методы лабораторной диагностики вирусных гепатитов: иммуноферментный анализ (ИФА) и полимеразно-цепная реакция (ПЦР). Однако они являются дорогостоящими методами. Затраты на проведение ИФА и ПЦР превышают современные затраты на оказание лечебных мероприятий. С целью массового обследования населения (скрининга) применение ИФА и ПЦР не является целесообразным. Поэтому необходимо использовать менее дорогостоящие и более доступные методы диагностики, в том числе, компьютерные. В медицине достаточно популярны статистические методы. Однако их применение в рассматриваемой области имеет объективные ограничения из-за нечёткой трактовки моделей нормы, адаптации и патологии. В этой связи последние годы характеризуются широким применением нейросетевых технологий в медицинской практике [2, 3]. Нередко диагностическая эффективность прогнозных моделей варьируется в пределах 70-85% [4]. Важной задачей применения нейронных сетей в медицинских исследованиях является необходимость повышения достоверности прогноза.
Цель работы - исследование и создание нейронных сетей, позволяющих эффективно распознавать лабораторную характеристику вирусного гепатита для его скрининга без привлечения дорогостоящих методов ИФА и ПЦР.
Для решения задачи нейросетевой диагностики вирусного гепатита были сформированы две группы наблюдений. Первую группу наблюдений составили 150 здоровых доноров отделения переливания крови Пензенской областной клинической больницы им Н. Н. Бурденко, вторую - 150 больных вирусными гепатитами В и С в фазе репликации отделения гепатологии. Использовано 36 показателей на основе биохимического, иммунологического и общего анализа крови. Полученные данные применили для обучения и экспериментов с нейронными сетями. Были сформированы обучающая и тестовая выборки, каждая из которых содержала данные о 75 донорах и 75 пациентах, страдающих вирусными гепатитами.
Данные были статистически обработаны. Вычислялось минимальное и максимальное значение для всех показателей из обучающего и тестового множества, отсутствующие лабораторные показатели выборки заменялись средними значениями по соответствующей группе. Из исследования исключались резкие выбросы для повышения точности диагностики. В итоге получили 23 показателя: гемоглобин; эритроциты; цветовой показатель; лейкоциты; палочкоядерные нейтрофильные лейкоциты (ПНЛ); сегментоядерные
нейтрофильные лейкоциты (СНЛ); эозинофилы; лимфоциты;
моноциты; скорость оседания эритроцитов (СОЭ); общий белок; мочевина; билирубин; глюкоза; холестерин; р-липопротеиды; сиаловая кислота; аспартатамино-трансфераза (АСТ);
аланинамино-трансфераза (АЛТ); щелочная фосфатаза; гамма-глутамил-транспептидаза (ГГТ); тимоловая проба; амилаза крови. Также в качестве исходных данных использовали пол и возраст пациентов. Эти данные кодировали (мужской = 1, женский = -1).
Следующим этапом было понижение размерности исходных данных. Для этого предварительно были получены относительные значения показателей, из которых рассчитывались минимальное, среднее и максимальное значения каждого показателя для больных и здоровых людей. Анализ данных показал, что для диагностики вирусного гепатита можно использовать только 6 показателей (билирубин, аспартатамино-трансферазу, аланинаминотрансферазу, щелочную фосфатазу, гамма-глутамил-транспептидазу и тимоловую пробу). Разброс значений этих показателей у больных и здоровых значителен.
Для диагностики вирусного гепатита использовалась трехслойная нейронная сеть прямого распространения сигнала. В экспериментах использовались сети с 6 и 25 нейронами в первом слое, так как количество нейронов первого слоя должно быть равно количеству элементов вектора входа. В выходном слое использовался всего один нейрон, так как сеть разбивает входное множество на два класса (больной - здоровый).
Поскольку количество входных и выходных элементов определяются свойствами входных и выходных данных, исследование архитектуры многослойной сети следует начать с определения размера скрытого слоя.
В многослойной сети имеет место компромисс между точностью и обобщающей способностью, который можно оптимизировать посредством выбора количества скрытых элементов для данной сети. Количество скрытых элементов с одной стороны должно быть достаточным для того, чтобы решить поставленную задачу, а с другой - не должно быть слишком большим, чтобы обеспечить необходимую обобщающую способность. Однако до сих пор нет простого способа для определения необходимого числа скрытых элементов сети. Выбор зависит от многих факторов.
Предложены формулы для вычисления ограничений на размеры скрытых слоев [5]. Однако эти границы сильно различаются при использовании разных методов. Каждая формула является не более чем ориентиром и не исключает использования метода проб и ошибок.
Для проведения исследований использовался пакет «Neural Network Toolbox» среды программирования MATLAB 6.5 [6]. Сеть училась диагностировать гепатит по 6 и 25 показателям. Вначале подбиралась оптимальная архитектура нейронной сети. Для выбора оптимальной архитектуры использовался алгоритм обучения Левенберга - Марквардта (функция trainlm) [5]. Выбор этого алгоритма обучения объясняется его быстротой и надежностью. Затем на выбранной сети проводились эксперименты по обучению с использованием алгоритма градиентного спуска. В ходе исследований экспериментально подбиралось нужное количество нейронов скрытого слоя.
Ошибка многослойной сети при диагностике по 6 показателям
Количество нейронов в скрытом слое
^^"Средняя ошибка Минимальная ошибка
Пензенский государственный педагогический университет им. В. Г. Белинского; Пензенская областная клиническая больница им. Н. Н. Бурденко
Рис.1. Ошибка при диагностике по 6 показателям
Число нейронов в скрытом слое менялось от 2 до 15. Использование в скрытом слое более 15 нейронов является избыточным и не приводит к положительным результатам. Для большей надежности при каждом изменении числа нейронов проводилось по 3 эксперимента из-за того, что процесс обучения очень зависит от начальных значений весов и смещений. Для каждой сети считалась средняя и минимальная ошибка. В качестве функции активации для всех сетей использовался гиперболический тангенс. Проводилось масштабирование всех входных векторов (приведение к виду [-1 1]).
Результаты интерпретировались так: если выход сети лежал в диапазоне от -0,5 до -1 , то входные данные считались принадлежащими больному, если выход лежал от 0,5 до 1, то -здоровому. Все ответы сети в интервале от -0,5 до 0,5 считались неопределенными. После экспериментов строился график, по которому выбиралась лучшая сеть.
Performance is 0.08, Goal is 0.01 10 ------------1----------1----------1-----------1-------
5 10 15 20 25 30
33 Epochs
Рис.2. Обучение сети с двумя нейронами в скрытом слое
Результаты обучения нейронной сети с 6 нейронами в скрытом слое представлены на рис. 1.
Как видно из рис.1, лучшие результаты показала трехслойная нейронная сеть с двумя нейронами в скрытом слое. Средняя ошибка равна 11,3%, а минимальная ошибка равна 10%. На рис. 2 приведен график обучения данной сети.
Как видно из рис. 2, для обучения сети диагностировать гепатит с ошибкой в 11,3% достаточно всего 33 цикла обучения.
Аналогичные эксперименты при диагностике по 25 показателям показали, что наименьшую ошибку дает сеть, содержащая 2 нейрона в скрытом слое. Средняя ошибка по всем экспериментам равна 10,8%, а наименьшая ошибка равна 8,7%. Как и следовало ожидать, диагностика по 25 показателям дает несколько лучшие результаты (средняя ошибка сети <11%). Применение 6 показателей выявило ошибку, не превышающую 12%. Это подтверждает возможность использования сокращенного набора показателей.
После того как была выбрана оптимальная архитектура нейронной сети и число используемых показателей, обучение сети проводилось с использованием алгоритма градиентного спуска. Выбор данного алгоритма связан с тем, что остальные алгоритмы обучения требуют больших ресурсов компьютера, что не всегда выполнимо в условиях лечебных учреждений различного уровня. Поэтому целесообразно использовать более медленный, но менее ресурсоемкий алгоритм градиентного спуска. В связи с тем, что обучение производится очень редко, скорость обучения не имеет решающего значения.
В ходе экспериментов подбиралось оптимальное значение шага обучения, обеспечивающее достижение приемлемой ошибки на тестовом множестве и достаточно гладкий процесс обучения. При использовании 6 показателей оптимальным оказался шаг обучения, равный 0,1. При этом ошибка сети на тестовом множестве составила 12%. Для обучения потребовалось
6849 циклов обучения. При использовании 25 показателей оптимальный шаг обучения оказался равным 0,001.
Сеть обучилась за 1332 цикла, ошибка на тестовом множестве составила 10%.
Экспериментально подобранные архитектура и параметры нейронных сетей использованы при реализации нейросетевой экспертной системы. Система разработана в среде разработки Borland C++ Builder. Для хранения данных использована СУБД InterBASE. Система позволяет проводить работу в режимах пользователя и администратора. В режиме пользователя система позволяет зарегистрировать пациента, ввести все необходимые данные, провести диагностику конкретного пациента, используя ранее обученную сеть и занести результаты диагностики в базу данных. В режиме администратора система позволяет обучить нейронную сеть, просмотреть все информационные карты обследования пациентов. Также администратор может управлять политикой безопасности в системе. Он может создать нового пользователя с определенными правами или создать новый пароль для уже существующего пользователя. Разработанная система имеет механизм обучения. В системе предусмотрена настройка администратором параметров обучения сети. Пользователь может выбрать вариант обучения сети по 6 или 25 показателям. Также можно задать количество нейронов скрытого слоя, цель и шаг обучения. Можно установить максимальное количество циклов обучения и границы для интерпретации ответов сети. Разработанная нейросетевая экспертная система позволяет диагностировать вирусный гепатит по 6 или 25 показателям. Ввод данных для диагностики может осуществляться двумя способами независимо от количества используемых показателей: загрузка информации из базы
данных; ввод данных с клавиатуры.
Для проведения диагностики необходимо загрузить обученную сеть. После нажатия кнопки «Поставить диагноз», данные пациента будут поданы на вход сети и обработаны. В окне «Компьютерный диагноз» пользователь увидит диагноз, поставленный сетью и степень уверенности сети в правильной диагностике. На основании диагноза будут выданы рекомендации. Если данные для диагностики были загружены из базы данных, то после проведения диагностики необходимо занести компьютерный диагноз в базу. Тестирование разработанной экспертной системы на реальных данных показало результаты, практически совпадающие с результатами, полученными при использовании MATLAB.
Литература
1. Калнберзс В.К. и др. // Проблемы гематологии и
переливания крови.- 1999.- №2.- С. 9-10.
2. Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере.- Новосибирск: Наука. Сибирская издательская фирма РАН, 1996.- 276 с.
3. Лифшиц В.Б. и др. // Информационные технологии.-2004.- №3.- С. 60 - 63.
4. Щетинин В.Г., Соломаха А.А. // Клиническая лабораторная диагностика.- 1998.- №10.- С. 21-33.
5. Осовский С. Нейронные сети для обработки информации.- М.: Финансы и статистика, 2004.- 344 с.
6.Медведев В.С., Потемкин В.Г. Нейронные сети Matlab 6.-М.: ДИАЛОГ-МИФИ, 2002.- 496 с.
THE NETWORK PROGRAM FOR DIAGNOSIS OF VIRUS HEPATITIS
V.V. ARTYUKHIN, V.I. GOROBCHENKO, A.A. SOLOMAKHA Summary
The area over which an hemotransmissible diseases (donor blood transfusion) is to be found. The regular transformation of virus hepatitis doesn’t allows to determine a distinet criterions for diagnosis of this disease. The article deals with the early diagnosis of virus hepatitis’.
Key words: donor blood transfusion, virus hepatitis