Содержание к диссертации
Введение
Глава 1. Анализ формализованных методов диагностики вирусного гепатита 12
1.1 Анализ лабораторных методов диагностики вирусного гепатита 12
1.2 Анализ способов понижения размерности исходных данных 15
1.3 Анализ способов заполнения пропусков в исходных данных 18
1.4 Анализ статистических методов диагностики 20
1.5 Анализ возможности использования нечеткой логики для диагностики вирусного гепатита 21
1.6. Анализ нейросетевых методов диагностики 22
Выводы к главе 1 29
Глава 2. Исследование статистических и нейросетевых методов диагностики вирусного гепатита 31
2.1 Постановка задачи 31
2.2 Исследование статистических методов 33
2.2.1 Проверка медицинских анализов на соответствие нормальному закону распределения 33
2.2.2 Выбор лабораторных показателей 35
2.2.2.1 Исследование гистограмм распределения анализов больных и здоровых для выбора информативных признаков 35
2.2.2.2 Исследование применения критерия Манна-Уитни для выбора информативных признаков 38
2.2.2.3 Исследование применения корреляционного анализа для выбора информативных признаков 40
2.2.2.4 Исследование применения алгоритма box-counting для выбора информативных признаков 41
2.2.2.5 Сравнение статистических методов выбора анализов 44
2.3 Реализация способа заполнения пропусков 44
2.4 Диагностика вирусного гепатита с помощью дискриминантного анализа 47
2.5 Исследование нейронных сетей для диагностики вирусного гепатита 49
2.5.1 Исследование персептрона 51
2.5.1.1 Разработка математической модели нейронной сети 51
2.5.1.2 Экспериментальные исследования 54
2.5.2 Исследование многослойного персептрона для диагностики вирусного гепатита 55
2.5.2.1 Разработка модели нейронной сети 55
2.5.2.2 Экспериментальные исследования 65
2.5.3 Исследование радиально-базисных нейронных сетей 70
2.5.3.1 Разработка модели нейронной сети 70
2.5.3.2 Экспериментальные исследования 75
2.5.4 Исследование LVQ-сетей для диагностики вирусного гепатита 78
2.5.4.1 Разработка модели нейронной сети 78
2.5.4.2 Экспериментальные исследования 79
Выводы к главе 2 80
Глава 3. Разработка экспертной системы «неиродиагност» для диагностики вирусного гепатита 83
3.1 Разработка алгоритма обучения многослойного персептрона, реализованного в экспертной системе 83
3.1.1 Разработка модели нейронной сети 83
3.1.2 Экспериментальные исследования 88
3.2 Разработка нейросетевой экспертной системы 90
3.3 Возможности экспертной системы 94
3.4 Экспериментальное исследование экспертной системы 100
Выводы к главе 3 102
Общие выводы и результаты 103
Список литературы
- Анализ способов понижения размерности исходных данных
- Проверка медицинских анализов на соответствие нормальному закону распределения
- Разработка математической модели нейронной сети
- Экспериментальные исследования
Введение к работе
В настоящее время решающую роль в снижении стоимости медицинского обслуживания при сохранении его качества и повышении эффективности играют информационные технологии.
Последнее десятилетие ознаменовано ростом интереса к нейросетевым методам обработки информации. Расширяются сферы применения нейросистем. Актуальные задачи практической медицины являются идеальным полем для использования нейросетевых технологий, и именно в этой области наблюдается наиболее яркий практический успех нейроинформационных методов.
Наибольший интерес для практического здравоохранения представляют системы диагностики и дифференциальной диагностики заболеваний. При этом для принятия решений могут использоваться самые разнообразные данные: анамнез, клинический осмотр (создаются экспертные системы диагностики, ограничивающиеся только этим набором), результаты лабораторных тестов и сложных функциональных методов. Список областей медицины, в которых начали применяться новые технологии, чрезвычайно обширен и продолжает расти.
Вирусный гепатит широко распространён в человеческом обществе. По оценкам различных авторов [1; 2] число инфицированных вирусом составляет 200 - 300 млн. человек, что составляет 3 - 4,5 % населения земного шара.
Гепатит В - глобально распространённая опасная вирусная инфекция. Ежегодно в мире регистрируется около 50 млн. больных только острой инфекцией вирусного гепатита В. Из них до 600 тыс. умирает. Из числа последних около 100 тыс. человек погибает от редких, особо тяжелых фулминантных форм инфекции, смертность от которых достигает 70 - 90 %.
Вирусный гепатит В (ВГВ) отличается исключительно высокой инфекционностью. Заражение гепатитом В возможно при инокуляции очень
малых объёмов крови от больного: 0,1 - 0,5 мкл. Следовательно, даже визуально неразличимые следы зараженной крови могут оказаться причиной инфекции. Одновременно с высокой инфекционностью ВГВ причиной частой передачи возбудителя является также высокая устойчивость вируса и вирусной ДНК в условиях окружающей среды и в известных режимах дезинфекции.
По общей численности и распространённости больных хроническим гепатитом В в России до сих пор нет надёжных данных [1], так как регистрация и государственный учёт этих больных по стране не налажены. На примере Санкт-Петербурга, где регистрация больных хроническими вирусными гепатитами ведется с 1970 г., численность хронических больных постоянно растёт.
Гепатит С (ГС), подобно гепатиту В (ГВ), имеет повсеместное, но не равномерное, распространение. По данным Национальных служб здоровья, ежегодно в США регистрируется от 150 до 175 тыс. новых случаев гепатита С, в Западной Европе - 170 тыс., в Японии - более 350 тыс. заболеваний.
Частота обнаружения маркеров вирусного гепатита С (ВГС) среди доноров крови в странах Северной Европы составляет 0,01-0,2 %, в Южной Европе— 0,5-1,2 %, в Японии— 3-6 %, 10-20 % в странах Африканского континента, в России - 1-5 % (более высокий процент в районах Сибири и Дальнего Востока), в Прибалтике - 1-3%; в бывших республиках Средней Азии и Молдове - 5-12% [2].
Таким образом, вместе с ВИЧ-инфекцией гепатит В и С в настоящее время - одна из самых широко распространённых и опасных вирусных инфекций, вызывающих повсеместную тревогу за здоровье населения, сокращение средней продолжительности жизни людей во всём мире [1; 2].
Важной проблемой службы переливания крови является невозможность ранней диагностики вирусного гепатита. Решение этой задачи мотивируется тенденцией значительного распространения гемотрансмиссивных заболеваний (заболеваний, передающихся при переливании донорской
крови). В связи с постоянной трансформацией вирусов гепатита не представляется возможным выработать чёткие критерии диагностики этого заболевания [3]. По этой причине совершенствование методов лабораторной диагностики нередко задерживается.
Наиболее эффективным методом определения вирусного гепатита признана клиническая лабораторная диагностика. Существует два основных метода: иммуноферментный анализ (ИФА) и полимеразно-цепная реакция (ПЦР). ИФА выявляет антитела инфекции, а ПЦР исследует ее антигенную структуру. Однако они являются дорогостоящими методами. Поэтому необходимо использовать менее дорогостоящие и более доступные методы диагностики.
В предлагаемом подходе вирусный гепатит будет диагностироваться по результатам общего, биохимического и иммунологического анализов крови. Врач, просматривая результаты анализов, не может сразу поставить точный диагноз, так как необходимо выявить скрытые взаимосвязи между лабораторными показателями и гепатитом. Для этого необходимо применять формальные методы. В медицине достаточно популярны статистические методы. Однако их применение в рассматриваемой области имеет объективные ограничения из-за нечёткой трактовки моделей нормы, адаптации и патологии. В этой связи последние годы характеризуются широким применением нейросетевых технологий в медицинской практике [5; 6]. Следует указать, что нередко диагностическая эффективность прогнозных моделей варьирует в пределах 70 - 85%, что является недостаточным. [7].
В работах [8; 9] рассматривается применение нейронных сетей для диагностики вирусного гепатита. При анализе данных работ выявлены проблемы в использовании нейронных сетей: выбор наиболее информативных признаков для диагностики, определение оптимальной архитектуры нейронной сети, отсутствие автоматизированных систем для определения вирусного гепатита.
Цель работы— разработка нейронных сетей, позволяющих распознавать клинико-лабораторную характеристику вирусного гепатита как для отдельных случаев, так и с целью массового обследования без привлечения дорогостоящих методов диагностики вирусного гепатита, создание системы для диагностики вирусного гепатита.
Для достижения поставленной цели решаются следующие задачи:
сбор и статистическая обработка исходных данных, выбор информативных параметров;
исследование архитектур сетей с целью выбора рациональной структуры;
разработка экспертной системы диагностики вирусного гепатита;
тестирование разработанной системы в Пензенской областной клинической больнице им. Н. Н. Бурденко.
Методы исследования. При решении поставленных задач использовались методы статистического анализа и теория нейронных сетей. Научная новизна:
Предложен способ понижения размерности исходных данных, основанный на анализе корреляционной связи между входными векторами и выходами сети в обучающей выборке, позволивший использовать сокращенный набор лабораторных показателей для диагностики вирусного гепатита.
Предложен способ заполнения пропусков в данных, основанный на бутстреп-методе, дающий возможность учесть характер и особенности распределения анализов больных и здоровых людей.
Исследованы следующие архитектуры нейронных сетей для диагностики вирусного гепатита: персептрон, многослойный персептрон, радиально-базисная нейронная сеть, сеть LVQ и выбрана архитектура сети для диагностики вирусного гепатита.
Предложен и исследован двухшаговый вариант алгоритма градиентного спуска обучения радиально-базисной сети (RBF),
отличающийся от известных алгоритмов способом задания центров и вычисляемым коэффициентом скорости обучения весов сети, позволивший исключить неформальный и трудоемкий процесс подбора коэффициента скорости обучения и повысить точность данных сетей для диагностики вирусного гепатита.
Практическая ценность состоит в создании нейросетевой экспертной системы диагностики вирусного гепатита, которая может помочь врачу-хирургу сократить затраты и время на исследования и повысить достоверность результата.
На защиту выносятся:
способ понижения размерности исходных данных;
способ заполнения пропусков в данных;
сравнение статистических и нейросетевых методов диагностики вирусного гепатита;
способ задания центров нейронов и вычисляемый коэффициент скорости обучения весов радиально-базисной сети;
программная реализация нейронной сети для диагностики вирусного гепатита.
Достоверность научных и практических результатов: обучение и тестирование проводилось на реальных данных больных гепатитом и донорах отделения переливания крови Пензенской областной клинической больницы им. Н. Н. Бурденко. При тестировании достоверность результата составила 90,91 % для многослойного персептрона и 90,21% для радиально-базисной нейронной сети.
Реализация работы и внедрение результатов.
Получено свидетельство об официальной регистрации программы для ЭВМ № 2006612147 «Нейродиагност. Экспертная система диагностики вирусного гепатита», выданное Федеральной службой по интеллектуальной собственности, патентам и товарным знакам, зарегистрированное в Реестре программ для ЭВМ 20.06.2006 г.
Получено удостоверение на рационализаторское предложение № 280 «Способ диагностики гепатита у хирургических больных», выданное Соломахе А. А. и Артюхину В. В. БРИЗом Пензенской областной клинической больницы им. Н. Н. Бурденко и медицинским факультетом Пензенского государственного университета.
Основные результаты и положения диссертационной работы внедрены в работу отделения переливания крови Пензенской областной клинической больницы им. Н. Н. Бурденко, г. Пенза; МЛПУС «Городская больница № 1 им. Н. А. Семашко», г. Ростов-на-Дону.
Основные результаты, изложенные в диссертационной работе, использованы в НИР, проводимой в рамках гранта «Нейросетевая диагностика вирусного гепатита у хирургических больных» за № А04-3.16-625 для поддержки научно-исследовательской работы аспирантов вузов Федерального агентства по образованию.
Основные результаты диссертационной работы, использованы в НИР,
осуществляемой в рамках тематического плана научно-исследовательских работ Пензенского государственного педагогического университета, проводимых по заданию Федерального агентства по образованию в 2006 г.
Апробация работы: Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах: Первой международной дистанционной научно-практической конференции «Новые технологии в медицине» (Санкт-Петербург, 2004); XI, XIII, XIV всероссийских семинарах «Нейроинформатика и её приложения» (Красноярск, 2003, 2005, 2006); III, IV, V, VI всероссийских научно-технических конференциях «Проблемы информатики в образовании, управлении, экономике и технике» (Пенза, 2003-2006); III Всероссийской научно-практической конференции «Экология и ресурсо- и энергосберегающие технологии на предприятиях народного хозяйства» (Пенза, 2003); Всероссийском постоянно действующем научно-техническом семинаре «Экологическая безопасность регионов России и риск от техногенных аварий и катастроф» (Пенза, 2003); 2-й Всероссийской научной конференции «Проектирование научных и инженерных приложений в среде
MATLAB» (Москва, ИПУ РАН, 2004); XIV научных чтениях памяти
академика Н. Н. Бурденко «Актуальные вопросы современной клинической медицины» (Пенза, 2004); VI, VII международных научно-технических конференциях «Новые информационные технологии и системы» (Пенза, 2004, 2006); XI межрегиональной научно-практической конференции молодых учёных и соискателей «Актуальные вопросы диагностики, лечения и реабилитации больных» (Пенза, 2004); V, VI всероссийских научно-практических конференциях «Окружающая природная среда и экологическое образование и воспитание» (Пенза, 2005-2006); 2 Workshop of Russian Section of IEEE Computational Intelligence Society (Москва, ИПУ им. В. А. Трапезникова, 2005); XVIII Всероссийской научно-технической конференции студентов, молодых учёных и специалистов «Биотехнические, медицинские и экологические системы и комплексы» (Рязань, 2005); VIII Всероссийской научно-технической конференции «Нейроинформатика-2006» (Москва, 2006).
Публикации: По теме диссертации опубликовано 27 работ, в том числе 2 статьи в реферируемых журналах.
Структура и объём работы: Диссертационная работа состоит из введения, 3-х глав, заключения, приложений и списка литературы из 80 наименований.
Анализ способов понижения размерности исходных данных
Целью данного раздела является исследование способов понижения размерности исходных данных, то есть уменьшение количества входов. Размерность данных может быть понижена двумя способами [13]. Первый состоит в удалении тех переменных, которые несут наименьшее количество информации и обладают наименьшей прогнозирующей способностью. Имеет смысл удалить те переменные, которые связаны с другими входными переменными. Так как, если известно значение одной из этих переменных, знание другой не добавляет новой информации и не увеличивает предсказательной способности набора входных данных. Второй, менее деструктивный способ, состоит в проектировании данных с высокой размерностью в пространство с меньшей размерностью. Этот способ включает преобразование набора данных в меньшее количество новых переменных, которые как можно полнее описывают исходный набор данных. Первый способ реализуется такими методами, как t-критерий, критерий Манна-Уитни, корреляционный анализ, алгоритмы box-counting. Второй -методом главных компонент и факторным анализом [14].
Очевидный подход состоит в том, чтобы сравнить средние двух групп (больных и здоровых людей), по результатам сравнения можно сделать вывод об их различии по уровню выраженности измеренного признака. Можно формально вычесть одно среднее из другого и по величине разности сделать вывод о наличии эффекта. Однако целесообразно принять во внимание разброс данных относительно средних, то есть вариацию. Т-критерий [15] является наиболее часто используемым методом, позволяющим выявить различие между средними двух выборок. Он может применяться, если переменные нормально распределены, а дисперсии в группах не слишком различны, т.е. данный метод относится к параметрическим. Если условие нормальности не выполняется, надо переходить к применению непараметрических методов. Критерий Манна-Уитни или U-критерий [16] по назначению аналогичен t-критерию для независимых выборок. Разница заключается в том, что t-критерии ориентированы на нормальные распределения, а критерий Манна-Уитни - на распределения, отличные от нормальных.
С помощью корреляционного анализа решаются следующие задачи: отбор факторов, оказывающих наиболее существенное влияние на результативный признак, на основании измерения степени связи между ними; обнаружение ранее неизвестных причинных связей. Корреляция непосредственно не выявляет причинных связей между параметрами, но устанавливает численное значение этих связей и достоверность суждений об их наличии.
Подавляющее большинство природных процессов носят нелинейный характер. Рассмотрим один из методов определения значимости входных факторов, как аспект уменьшения начальной энтропии [17]. Речь идет о методике «box-counting». Для определения значимости входов потребуется оценить предсказуемость выходов, обеспечиваемую данным набором входных переменных. Чем выше эта предсказуемость - тем лучше соответствующий набор входов. Согласно общим положениям теории информации, мерой предсказуемости случайной величины является ее энтропия. Чем больше энтропия переменной, тем менее предсказуемо ее значение. В методике box-counting энтропия приближенно оценивается по набору чисел заполнения ячеек, на которые разбивается интервал ее возможных значений. Предсказуемость случайного вектора Y, обеспечиваемого знанием другой случайной величины X, дается кросс-энтропией. Чем больше кросс-энтропия, тем больше определенности вносит знание значения X в предсказание значения переменной Y.
Описанный выше энтропийный анализ не использует никаких предположений о характере зависимости между входными и выходными переменными. Таким образом, данная методика дает наиболее общий рецепт определения значимости входов, позволяя также оценивать степень предсказуемости выходов. Метод box-counting предоставляет технологию отбора наиболее значимых признаков для нейросетевого моделирования, технологию оптимизации входного пространства признаков [17].
Метод главных компонент [14] является методом определения структурной зависимости между случайными переменными. В результате его использования получается сжатое описание малого объема, несущее почти всю информацию, содержащуюся в исходных данных. Главные компоненты получаются из исходных переменных путем целенаправленного превращения, т.е. как линейные комбинации исходных переменных. Проекция пространства в пространство с меньшим числом измерений производится таким образом, чтобы главные компоненты были ортогональны и имели максимальную дисперсию среди возможных линейных комбинаций исходных переменных X. При этом получаемые переменные не коррелированны между собой и упорядочены по убыванию дисперсии (первая компонента имеет наибольшую дисперсию). Кроме того, общая дисперсия после преобразования остается без изменений.
Факторный анализ является более общим методом преобразования исходных переменных по сравнению с методом главных компонент. Факторный анализ - выявление и обоснование действия различных признаков и их комбинаций на исследуемый процесс путем снижения их размерности. Такая задача решается, как правило, путем "сжатия" исходной информации и выделения из нее наиболее "существенной" информации, т.е. описание объектов меньшим числом обобщенных признаков, называемых факторами [14].
Факторный анализ и метод главных компонент осуществляют понижение размерности входных данных в терминах новых входных переменных, образованных комбинацией исходных, что не позволяет в рамках поставленной задачи уменьшить количество клинико-лабораторных анализов.
Таким образом, проанализировав различные методы к отбору входных данных, был сделан вывод, что в дальнейшем необходимо более полно исследовать следующие методы: критерий Манна-Уитни для сравнения средних, корреляционный анализ и алгоритм box-counting для выявления скрытых зависимостей между признаками и результатом.
Проверка медицинских анализов на соответствие нормальному закону распределения
Для выяснения возможности применения различных статистических методов необходимо провести проверку на соответствие нормальному закону распределения медицинских анализов. Данная проверка осуществлялась средствами статистического пакета SPSS 14.0.
Результаты проверки говорят о том, что значения асимметрии и эксцесса по многим анализам и у больных, и у здоровых превышают по модулю 1, т.е. данные распределены не по нормальному закону, об этом говорят и формы гистограмм. Из-за этого для обработки данных доступны не все методы статистического анализа. Будем применять непараметрические методы, которые позволяют исследовать данные без каких-либо допущений о характере распределения переменных, в том числе при нарушении требования нормальности распределения.
Целью данного раздела является исследование особенностей распределения анализов больных и здоровых для выявления наиболее информативных признаков. Мужчин 116 76,83% 107 71,3% Женщин 35 23,17% 43 28,7% По таблице мы можем судить о среднем значении, максимуме и минимуме. Но не видим характер распределения. Сравнить распределение значения больных и здоровых можно с помощью гистограмм. Определяется максимальное и минимальное значения, например, по первому анализу xmax=185 лстіп=103. Сгруппируем данные по больным и здоровым, взяв количество интервалов, равное 20. В результате получаем такие группы больных и здоровых по признаку гемоглобин (таб. 2.3):
Гистограмма распределения больных и здоровых по признаку АЛТ Из таблицы 2.4 и рисунка 2.2 видно, что 88 % анализов здоровых находятся в диапазоне от 10 до 32 единиц. Тогда как 74 % анализов больных находятся в диапазоне от 32 до 229 единиц. Можно сделать вывод, что данный анализ является одним из показателей для диагностики вирусного гепатита.
Гистограммы остальных анализов представлены в приложении Б. Проанализировав их, можно предположить, что для диагностики вирусного гепатита можно использовать следующие анализы: ACT, АЛТ, щелочная фосфатаза, ГГТ, тимоловая проба.
Данный критерий является непараметрическим и позволяет выявить различие между средними значениями двух выборок. Можно формально вычесть одно среднее из другого и по величине разности сделать вывод о различии средних двух групп. Однако целесообразно принять во внимание разброс данных относительно средних, то есть вариацию [16].
Для понижения размерности входных данных были проанализированы все показатели здоровых доноров и больных пациентов из обучающего и тестового множеств. Для выявления зависимостей между переменными и результатом (здоров - болен) был проведен корреляционный анализ [23].
Основной коэффициент корреляции г Пирсона является мерой прямолинейной связи между переменными: его значения достигают максимума, когда точки на графике двухмерного рассеивания лежат на одной прямой линии. Если распределение хотя бы одной из двух переменных не соответствует нормальному, то вместо г Пирсона следует использовать ранговые корреляции Спирмена или Кендалла. Несмотря на то, что величина г Пирсона рассчитывается в предположении, что значения обеих переменных распределены по нормальному закону, формула для ее вычисления дает достаточно точные результаты и в случаях аномальных распределений, а также в случаях, когда одна из переменных является дискретной.
Алгоритм box-counting [17; 57], основан на использовании идей теории информации для отбора наиболее значимых входных переменных. В этом алгоритме для определения значимости входов оценивается предсказуемость выходов, обеспечиваемая данным набором входных переменных. Чем выше эта предсказуемость - тем лучше соответствующий набор входов. Это позволяет отобрать наиболее значимые входы.
Согласно общим положениям теории информации, мерой предсказуемости случайной величины X является ее энтропия, Н(Х).
Энтропия максимальна, когда все значения фактора равновероятны. В алгоритме box-counting интервал возможных значений переменной разбивается на некоторое количество интервалов - ячеек. Ячейка считается заполненной, если значение переменной попадает в соответствующий интервал. Энтропия оценивается как логарифм числа заполненных ячеек H{X)&\ogNx. Чем больше энтропия переменной, тем менее предсказуемо ее значение. Когда все значения примеров сосредоточены в одной ячейке -их энтропия равна нулю, т.к. положение данных определено (с данной степенью точности). Равномерному заполнению ячеек соответствует максимальная энтропия - наибольший разброс возможных значений переменной.
Разработка математической модели нейронной сети
Первая из нейронных сетей является нейронная сеть, называемая персептроном [63]. Простой персептрон - это обычная модель МакКаллока-Питса с соответствующей стратегией обучения [64].
По завершении уточнения весовых коэффициентов представляются очередной обучающий вектор х и связанное с ним ожидаемое значение dt, и значения весов уточняются заново. Этот процесс многократно повторяется на всех обучающих выборках, пока не будут минимизированы различия между всеми значениями yj} и соответствующими им ожидаемыми значениями dr
Характерная особенность правила Видроу-Хоффа, состоит в использовании для обучения информации только о текущем и ожидаемом значениях выходного сигнала. В связи с разрывностью нелинейной функции активации персептрона невозможно учитывать информацию об изменении значения yi (т.е. ее производную). Минимизация различий между фактическими реакциями нейрона уп и ожидаемыми значениями dt может быть представлена как минимизация конкретной функции погрешности (целевой функции) Е, чаще всего определяемой как /t=l где р означает количество предъявляемых обучающих выборок. Такая минимизация при использовании правила персептрона проводится по методу безградиентной оптимизации [64]. Эффективность метода при большом количестве обучающих выборок относительно невелика, а количество циклов обучения и его длительность возрастают очень быстро, причем без всякой гарантии достижения минимума целевой функции.
Целью данного исследования является экспериментальная проверка возможности использования персептрона для диагностики вирусного гепатита. Исследования проводились в среде MATLAB версии 6.5. Для моделирования работы нейронных сетей использовался Neural Network Toolbox (NNT).
Многослойная сеть состоит из нейронов, расположенных на разных уровнях, причем, помимо входного и выходного слоев, имеется еще, как минимум, один внутренний, т.е. скрытый, слой. Такая нейронная система называется многослойным персептроном [67; 55; 69].
В многослойной сети имеет место компромисс между точностью и обобщающей способностью, который можно оптимизировать посредством выбора количества скрытых элементов для данной сети. Количество скрытых элементов с одной стороны должно быть достаточным для того, чтобы решить поставленную задачу, а с другой не должно быть слишком большим, чтобы обеспечить необходимую обобщающую способность. Не существует простого способа для определения необходимого числа скрытых элементов сети. Выбор зависит от многих факторов. Некоторыми исследователями предложены формулы для вычисления ограничений на размеры скрытых слоев [63]. Однако эти границы сильно различаются при использовании разных методов. Каждая формула является не более чем ориентиром и не исключает использования метода проб и ошибок.
При выборе количества скрытых элементов нужно руководствоваться следующими правилами [13]: 1) не следует выбирать количество скрытых нейронов больше, чем удвоенное количество входных элементов; 2) количество обучающих данных должно быть, по крайней мере, в несколько раз больше количества весов сети; 3) существует взаимоисключающая связь между обобщающими свойствами и точностью; 4) большая сеть требует большего времени для тренировки. Задача обучения нейронной сети — минимизация определенной целевой функции E(w). При таком подходе можно применять для обучения алгоритмы, которые в теории оптимизации считаются наиболее эффективными. К ним, без сомнения, относятся градиентные методы, чью основу составляет выявление градиента целевой функции [63]. Эти методы связаны с разложением целевой функции E(w) в ряд Тейлора в ближайшей окрестности точки имеющегося решения .
Если при разложении целевой функции E(w) в ряд Тейлора ограничиться ее линейным приближением, то мы получим алгоритм наискорейшего спуска. Для выполнения соотношения E(wM) E(wk) достаточно подобрать g(wt) р 0. Условию уменьшения значения целевой функции отвечает выбор вектора направления P =-gW- (2.4)
Именно выражением (2.4) определяется вектор направления р в методе наискорейшего спуска. Ограничение слагаемым первого порядка при разложении функции в ряд Тейлора не позволяет использовать информацию о её кривизне. Это обусловливает медленную сходимость метода (она остаётся линейной). Указанный недостаток, а также резкое замедление минимизации в ближайшей окрестности точки оптимального решения, когда градиент принимает очень малые значения, делают алгоритм наискорейшего спуска низкоэффективным [63]. Тем не менее, с учётом его простоты, невысоких требований к объёму памяти и относительно небольшой вычислительной сложности именно этот метод в течение многих лет был и остаётся в настоящее время основным способом обучения многослойных сетей.
Экспериментальные исследования
Целью исследования является экспериментальная проверка возможности использования данного алгоритма для диагностики вирусного гепатита на уровне разработанных нейронных сетей: многослойного персептрона и сети RBF. Для проверки использовалась среда разработки MATLAB 6.5, пакет NNT. При обучении сети диагностировать вирусный гепатит по 6 показателям использовались результаты экспериментов обучения на быстрых алгоритмах. То есть для обучения использовалась трехслойная нейронная сеть с двумя нейронами в скрытом слое.
Из графика видно как важно правильно подобрать шаг обучения. Первоначальное значение шага обучения было взято равным 0,05, сеть обучилась за 1948 циклов, однако в процессе обучения происходили резкие изменения среднеквадратической ошибки, то есть сеть вела себя нестабильно в процессе обучения. Ошибка сети на тестовом множестве составила 9,09%.
Из графика видно, что после 6849 циклов обучения сеть достигла цели (среднеквадратическая ошибка = 0,06). Ошибка сети на тестовом множестве составила 9,09%. Из графика видно, что при уменьшении шага обучения количество циклов обучения увеличилось в три раза, однако процесс обучения протекал более гладко.
Таким образом, эксперименты показали, что для дальнейшей программной реализации целесообразно использовать трехслойную нейронную сеть с двумя нейронами в скрытом слое. В ходе исследования было установлено, что сеть с двумя нейронами в скрытом слое дает лучшие результаты при диагностике по 6 показателям. Процент ошибки при диагностике вирусного гепатита по 6 показателям равен 9,09%, что сопоставимо с результатами работы сети, обученной по алгоритму Левенберга-Марквардта. Поэтому для программной реализации для обучения многослойного персептрона будет использован алгоритм градиентного спуска, как менее требовательный к ресурсам.
Для реализации работы экспертной системы была выбрана среда разработки Visual C++ 6.0. Для работы нейросетевой экспертной системы необходимо, чтобы в программе были реализованы все основные функции нейронных сетей, работа с базой данных и функция проведения диагностики. В ходе анализа было установлено, что для создания правильно работающей нейронной сети необходимо реализовать функции шкалирования, обучения, моделирования. Также необходимо создать функции, обеспечивающие работу отдельных элементов нейронной сети - нейронов. Таким образом, после анализа работы нейронной сети в целом и работы отдельных её элементов был создан класс Neuron, в котором реализованы основные функции нейросетевого метода: Scaling, Summator, Tansig, Error, Net_error, Sim и Train.
Необходимость шкалирования также возникает при использовании RBF. На вход функции подается вектор исходных входных значений (float Х), вектор минимальных (float MinNet) и вектор максимальных (float MaxNet) значений для каждого показателя, на выходе функции получается прошкалированный массив входных данных, который впоследствии подается на вход сети.
На вход функции подается выход функции Summator. Результатом применения функции Tansig является выходное значение данного нейрона (Приложение Е). Для подсчета ошибок сети используется функция Error. На вход функции поступает выход сети при подаче z -ro вектора и цель для этого вектора, на выходе рассчитывается ошибка сети. Ошибка считается по следующей формуле: где е - ошибка сети при подаче і -го вектора; yt - выход сети при подаче і -го вектора; di - цель для / -го вектора. Функция Error применяется при обучении нейронной сети (Приложение Е).
Для подсчета общего количества ошибок сети используется функция Net_error. В качестве ошибки рассматриваются выходы сети, не попавшие в указанный пользователем интервал или неправильно распознанные сетью. Листинг функции приведен в приложении Е.
Функция Sim (Приложение Е) реализует функцию моделирования многослойного персептрона, аналогичную функции sim пакета прикладных программ MATLAB. На вход функции подаются исходные данные (float Х), на выходе получается выходное значение сети.
Формула (3.13) использовалась для вычисления градиентов функционала ошибки единственного нейрона выходного слоя. С помощью формулы (3.14) вычислялись градиенты функционала ошибки для всех нейронов скрытого слоя. Корректировка весов и смещений проводилась по формуле (3.12). На вход функции подается обучающее множество (float Х), тестовое множество (float Y), вектор целей (int Т), шаг обучения (float step), целевое значение ошибки (int goal) и максимальное количество эпох обучения (int epochs). На выходе получаем обученную сеть. Обучение ведется с использованием тестового множества. Данный подход позволяет избежать переобучения сети.
Функция getCenter применяется для инициализации центров нейронов RBF-сети. Листинг функции приведен в приложении Е.
Функция calcR2 служит для вычисления квадрата евклидова расстояния между двумя векторами. Листинг функции приведен в приложении Е.
Для подсчета общего количества ошибок сети используется функция Net_error. В качестве ошибки рассматриваются выходы сети, не попавшие в указанный пользователем интервал или неправильно распознанные сетью. Листинг функции приведен в приложении Е.
Функция Train реализует механизм обучения радиалыю-базисной нейронной сети с помощью разработанного градиентного алгоритма обучения. На вход функции подается обучающее множество (learnTable), тестовое множество (testTable), вектор целей (learnGoal). На выходе получаем обученную сеть. Листинг функции приведен в приложении Е.
В программе реализован режим работы с базой данных, созданной в Microsoft Access, в которой хранятся все сведения о пациентах и их анализы, а также ответ сети и диагноз врача. Так же реализован режим диагностики, позволяющий в режиме реального времени провести диагностику пациента.