ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПОДДЕРЖКИ РЕШЕНИЯ ЗАДАЧ АНАЛИЗА И КЛАССИФИКАЦИИ С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ
Секция: 3. Информационные технологии
III Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПОДДЕРЖКИ РЕШЕНИЯ ЗАДАЧ АНАЛИЗА И КЛАССИФИКАЦИИ С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ
На сегодняшний день наиболее быстро развивающаяся область в математики связана с нейронными сетями, их реализацией и применением на практике. И это не удивительно, ведь это самообучающиеся системы, которые, по своей сути, имитируют работу нашего мозга.
Популярность исследований в этом направлении мотивирована богатым числом различных применений нейронный сетей. Это и распознавание образов и объектов, это классификация и аппроксимация различных данных, это автоматизация процессов и адаптивное управление ими, более того, это прогнозирование, а также же разработка экспертных систем и многое другое. С помощью нейронных сетей возможно распознавание человеческой речи, управление техникой без участия человека или прогнозирование погоды в регионе на несколько недель вперед.
Нейронные сети это нелинейные системы, способные классифицировать, казалось бы, несвязанные друг с другом данные и находить скрытые закономерности между ними. Применительно к медицинской диагностике, такая способность сетей позволяет сильно повысить специфичность метода, не влияя на его чувствительность.
Общеизвестно, что нейронная сеть работает с большим набором параметров, влияние которых на постановку диагноза человеку невозможно оценить. Тем не менее, нейросети оказались способными принимать решения, основываясь на выявляемых ими скрытых закономерностях в многомерных данных. Отличительное свойство нейросетей состоит в том, что они не программируются — не используют никаких правил вывода для постановки диагноза, а обучаются делать это на примерах.
Статистика такова: врач правильно диагностирует болезнь у 88 % больных и ошибочно ставит этот диагноз в 29 % случаев. Ложных тревог (гипердиагностики) чересчур много. История применения различных методов обработки данных для повышения качества диагностики насчитывает десятилетия, однако лучший из них помог сократить число случаев гипердиагностики лишь на 3 %.
Целью данной работы является разработка программного приложения, предназначенного для построения многослойной нейронной сети на основе медицинской базы пациентов больных тяжелой болезнью, обучаемой по алгоритму обратного распространения ошибки, которое могло бы применяться медицинскими учреждением для анализа симптомов и характера лечения больных с наивысшей эффективностью. А также, для автоматизации процесса установления диагноза, для сведения фактора человеческой ошибки к минимуму.
Описание алгоритма обратного распространения ошибки.
Нейронные сети обратного распространения — это мощнейший инструмент поиска закономерностей, прогнозирования, качественного анализа. Такое название — сети обратного распространения (back propagation) они получили из-за используемого алгоритма обучения, в котором ошибка распространяется от выходного слоя к входному, т. е. в направлении, противоположном направлению распространения сигнала при нормальном функционировании сети.
Нейронная сеть обратного распространения состоит из нескольких слоев нейронов, причем каждый нейрон слоя i связан с каждым нейроном слоя i+1, т. е. речь идет о полносвязной НС.
В общем случае задача обучения НС сводится к нахождению некой функциональной зависимости Y=F(X) где X-вектор входной, а Y-выходной векторы. В общем случае такая задача, при ограниченном наборе входных данных имеет бесконечное множество решений. Для ограничения пространства поиска при обучении ставится задача минимизации целевой функции ошибки НС, которая находится по методу наименьших квадратов.
Реализация алгоритма
Из двух существующих подходов разработки программного обеспечения был выбран объектно-ориентированный, поскольку на его основе целесообразнее создавать систему усложненную конструкциями и зависимостями между объектами и классами.
Для достижения задачи был выбран язык графического описания для объектного моделирования UML. С его помощью весьма удобно отображать сложные организационные структуры, разобраться в архитектуре процессов, что в свою очередь способно упростить их дальнейшее проектирование.
Рисунок 1. Диаграмма использования UML
Составление диаграммы использования, очень важный этап в каждом проекте, она описывает видение системы в целом со стороны обычного пользователя, описывает возможности системы, которые должны быть предусмотрены и реализованы.
Поскольку по мере работы над проектом часто возникают ситуации, когда сложность реализованных алгоритмов переходит за рамки возможностей программных продуктов, которыми намеревались пользоваться в её начале, было принято решение заранее использовать такую среду разработки, которая бы отличалась повышенным функционалом и в тоже время имела высокую степень интеграции различных ПО между собой. Такой средой стала линейка программных продуктов Borland: Developer Studio, Together Designer, StartTeam и CaliberRM.
Входные данные предполагали использование лабораторных данных: пол, гистологический диагноз, радиотерапия, химиотерапия, тип хирургии, возраст на момент установки диагноза, в живых. В выборке содержалось 24 представителя контрольной группы, состояние которых характеризовалось как «Здоров», у остальных был диагностирован рак различных степеней тяжести. В целом пациенты описывались 8 входными параметрами.
Рисунок 2. База данных пациентов
В качестве топологии нейронной сети был использован многослойный персептрон с сигмоидальной активационной функцией, количество нейронов во входном слое — 8, на скрытом — 32, на выходном — 1. Допустимая ошибка при распознавании — 0,2.
После обучения нейронной сети на вход были поданы данные, которые не использовались ранее. На выходном нейроне решено было диагностировать наличие болезни пациента.
Таблица 1.
Входные и выходные данные итоговой проверки
Пол |
Гистоло-гический диагноз |
Вид операции |
Радио-терапия |
Химио-терапия |
Возраст на момент диагноза (лет) |
В живых |
Выживание (лет) |
Болезнь |
1 |
1 |
2 |
0 |
0 |
41,21 |
0 |
7,37 |
1 |
0 |
0 |
0 |
1 |
1 |
56,23 |
0 |
3,62 |
1 |
1 |
1 |
1 |
1 |
2 |
33,7 |
0 |
10,86 |
0 |
1 |
2 |
2 |
1 |
0 |
48,56 |
0 |
8,63 |
1 |
1 |
1 |
1 |
0 |
3 |
59,74 |
0 |
7,34 |
1 |
Исходя из результатов, можно заключить, что нейронная сеть диагностировала болезнь у четверых пациентов из пяти. Данный факт заставляет полагать, что нейронная сеть достаточно хорошо справляется с классификацией данных и выдает достойный результат даже при сравнительно небольшом количестве входных данных.
Выводы
Проделанная работа по диагностированию больных при помощи нейронных сетей доказала свою эффективность. Процент правильной диагностики болезней с помощью данных систем, обученных на большом количестве классифицированных данных, на деле может сократить число врачебных ошибок в два и более раз.
1. А. Леоненков. Самоучитель UML. Эффективный инструмент моделирования информационных систем. — СПб: BHV, 2001. — 304 стр.
2. Введение в теорию нейронных сетей — [Электронный ресурс] — Режим доступа. — URL: http://www.orc.ru/~stasson/neurox.html.
3. Джеффри Е. Хинтон. Как обучаются нейронные сети.// В мире науки — 1992 — № 11—№ 12 — c. 103—107.
4. Компания Borland — [Электронный ресурс] — Режим доступа. — URL: http://www.borland.com.
5. Медицинская база данных больных раком — [Электронный ресурс] — Режим доступа. — URL: http://cancerres.aacrjournals.org/content/suppl/2009/11/16/0008-5472.CAN-09-2307.DC1/stabs_1-6.pdf.
6. Сайт о нейронных сетях — [Электронный ресурс] — Режим доступа. — URL: http://neuroschool.narod.ru.
7. Borland AML Portal — [Электронный ресурс] — Режим доступа. — URL: http://www.almportal.ru.