Кузнецова О.Ю. Нейро-нечеткая система диагностики

advertisement
Кузнецова О.Ю. Нейро-нечеткая система диагностики хронической почечной недостаточности. // Проблемы информатики в образовании, управлении, экономике и технике:
Сб. статей XI Междунар. научно-техн. конф. – Пенза: ПДЗ, 2011. – С. 178-182.
НЕЙРО-НЕЧЕТКАЯ СИСТЕМА ДИАГНОСТИКИ
ХРОНИЧЕСКОЙ ПОЧЕЧНОЙ НЕДОСТАТОЧНОСТИ
О.Ю. Кузнецова
Пензенский государственный педагогический университет
им. В.Г. Белинского,
г. Пенза, Россия
Рассмотрено применение искусственных нейронных сетей и нечетких сетей для диагностики хронической почечной недостаточности и создание экспертной системы для проведения диагностики населения. Описаны процесс подготовки данных для обучения сетей, исследование различных архитектур искусственных нейронных сетей и возможности программы.
Kuznetsova O.U. Neuro-fuzzy system for diagnostics of chronic renal insufficiency. The
application of neural and fuzzy network of diagnostics of chronic renal insufficiency and system-building for diagnostics is considered. The process of data preparation for the learning network, research different structures of neural network and program potential is described.
Проблема качества жизни больных с терминальной почечной недостаточностью в последние десятилетия приобретает все большую актуальность [1-2].
Терминальная почечная недостаточность является заключительной стадией
синдрома эндогенной интоксикации. На этом этапе заболевания только применение методов заместительной почечной терапии – гемодиализа (ГД), перитонеального диализа, трансплантации почки – позволяет сохранить жизнь
больному. В конце прошлого столетия на заместительной почечной терапии в
мире находилось около полутора миллионов человек и большая часть их (69%)
– на ГД.
Применение современных методов диагностики позволит увеличить продолжительность жизни некогда обреченных больных в среднем на 10–12 лет
даже без проведения трансплантации почки (Спиридонов В.Н. и др., 2005).
Синдром эндогенной интоксикации в её терминальной стадии, будучи типичным хроническим заболеванием, вместе с тем уникален в силу специфики лечения. Все это свидетельствует об актуальности проблемы.
Целью настоящей работы является создание экспертной системы,
позволяющей эффективно распознавать лабораторную характеристику
синдрома эндогенной интоксикации.
Для решения задачи диагностики синдрома эндогенной интоксикации были
сформированы две группы наблюдений. Первую группу наблюдений составили
84 истории болезни здоровых доноров отделения переливания крови
Пензенской областной клинической больницы им Н. Н. Бурденко, вторую – 84
истории болезни пациентов в терминальной стадией хронической почечной недостаточности. Всего изучено 168 историй болезни. Использовано два
показателя – креатин и мочевина – на основе общего и биохимического анализа
крови. Были сформированы обучающая и тестовая выборки, каждая из которых
содержала данные о 42 донорах и 42 пациентах, страдающих ХПН в
терминальной стадии.
Для реализации работы экспертной системы была выбрана среда разработки
Microsoft Visual Studio 2008 [3], с использованием языка программирования C#.
В Microsoft Visual Studio 2008 реализована гибкая архитектура доступа к
Microsoft Excel. Для работы с данным приложением используется механизм,
работающий с COM сервером Excel. Данный механизм позволяет импортировать и экспортировать данные для Microsoft Excel. Также механизм доступа к
базам данных SQL. Visual Studio 2008 имеет ряд специализированных элементов управления, позволяющих обеспечить достаточно простой доступ к данным
с использованием технологии ADO.NET [4].
Экспертная система диагностики содержит два блока диагностики: нейросетевой блок и нечеткий блок.
Нейросетевой блок предназначен для реализации функции нейронной сети,
работы с базой данных и функции проведения диагностики.
В ходе анализа было установлено, что для создания правильно работающей
нейронной сети необходимо реализовать функции шкалирования, обучения,
моделирования. Также необходимо создать функции, обеспечивающие работу
отдельных элементов нейронной сети – нейронов. Таким образом, после анализа работы нейронной сети в целом и работы отдельных её элементов был создан
класс neural, в котором реализованы основные функции нейросетевого метода: scaling, summator, tansig, error, sim и train,
correction_bais, corretion_weights.
Разработанный нейросетевой блок экспертной системы для диагностики
синдрома эндогенной интоксикации позволяет на сокращенном наборе анализов о больных в терминальной стадии ХПН диагностировать заболевание с помощью многослойного персептрона с ошибкой 10,71%, что несущественно
превышает ошибку сетей, созданных с использованием пакета Neural Network
Toolbox MATLAB. На данных о больных в ранней стадии ХПН ошибка увеличивается до 45%.
Для работы нечеткого блока экспертной системы необходимо, чтобы в программе были реализованы все основные функции для заполнения пропусков в
данных, функции работы нечеткой сети, работа с базой данных и функция проведения диагностики.
В ходе анализа было установлено, что для создания правильно работающей
нечеткой сети необходимо реализовать классы для создания лингвистических
переменных, функций принадлежности, правил базы знаний. Необходимы также функции фаззификации, дефаззификации. Таким образом, после анализа работы нечеткой сети в целом и работы отдельных её элементов был создано пространство имен FuzzyLogicController, в котором реализованы основные
классы: LingVariable, MemberShipFunction, Trapmf, Trimf, RuleItem, Rule.
Диагностика заболевания на данных о больных в терминальной стадии ХПН
с помощью нечеткой нейронной сети с ошибкой 0%, что не превышает ошибку
сетей, созданных с использованием пакета Fuzzy Logic Toolbox MATLAB. На
данных о больных в ранней стадии ХПН ошибка составила 10%.
После разработки программы были проведены экспериментальные исследования работы экспертной системы. Тестирование проводилось на тестовом
множестве работы алгоритма обучения нейронной сети и нечеткой сети. Тестирование проводилось на реальных больных с хронической почечной недостаточностью в терминальной стадии и донорах отделения переливания крови
Пензенской областной больницы им. Н. Н. Бурденко.
При тестировании работы программы применялись данные, использованные
в ходе исследовательского этапа. Главным объектом тестирования был процесс
обучения нейронной сети. При тестировании на данных о больных в терминальной стадии ХПН ошибка многослойного персептрона составила 10,71%,
что несущественно превышает ошибку сетей, созданных с использованием пакета Neural Network Toolbox MATLAB, которые составили 7,14% с использованием алгоритма Левенберга-Марквардта и 8,33% с использованием алгоритма
градиентного спуска. При тестировании на данных о больных в ранней стадии
ХПН ошибка многослойного персептрона составила 45%, что превышает
ошибку сетей, созданных с использованием пакета Neural Network Toolbox
MATLAB, которая составила 36,84% с использованием алгоритма ЛевенбергаМарквардта и 32,63% с использованием алгоритма градиентного спуска.
При тестировании на данных о больных в терминальной стадии ХПН ошибка нечеткой сети составила 0%, что лучше ошибки сети, созданной с использованием пакета Fuzzy Logic Toolbox MATLAB, которая составила 1,7%. При тестировании на данных о больных в ранней стадии ХПН ошибка нечеткой сети
составила 10%, что не превышает ошибку сетей, созданных с использованием
пакета Fuzzy Logic Toolbox MATLAB, которая составила 3,8%.
После тестирования получились следующие результаты.
Таблица 1. Результаты тестирования программы на данных о больных
в терминальной стадии ХПН
Тип сети
Многослойный
персептрон
Нечеткая сеть
Ошибка
первого
рода, %
Ошибка
второго
рода, %
Ошибка
сети, %
9,52
1,19
10,71
0
0
0
Таблица 2. Результаты тестирования программы на данных
о больных в ранней стадии ХПН
Тип сети
Многослойный
персептрон
Нечеткая сеть
Ошибка первого
рода, %
Ошибка второго
рода, %
Ошибка сети,
%
19
21
40
1,81
8,19
10
Из приведенных данных видно, что нечеткий блок разработанной программы, как на данных о больных в терминальной стадии ХПН, так и на данных о
больных в ранней стадии ХПН, дает меньшую ошибку, чем нейросетевой блок,
что существенно улучшает достоверность диагноза. Возможностью использования программы является ведение больного в течение лечения, т.е. сравнение
результатов программы в динамике по каждому человеку. Если в результате
проведения лечения состояние больного начинает улучшаться, то достоверность диагноза программы «болен» начинает уменьшаться, а если человек выздоравливает, диагноз переходит в состояние «здоров».
Библиографический список
1. Gudex C.M. Health-related quality of life in endstage renal failure. // Qual Life
Res, 1995.
2. Niu, S.F. and I.C. Li Quality of life of patients having renal replacement therapy // J. Adv. Nurs., 2005. – P. 15-21.
3. Пауэрс Л., Снелл М. Microsoft Visual Studio 2008. В подлиннике. – СПб.:
БХВ-Петербург, 2008. – 1200 с.
4. Powell M.J.D. Variable Metric Methods for Constrained Optimization, Mathematical Programming: The State of the Art, (A. Bachem, M. Grotschel and B. Korte,
eds.) Springer Verlag, 1983. – P 288-311.
Download