УДК 004:65
О. Н. Долинина, А. К. Кузьмин
ОТЛАДКА ИСКУССТВЕННОЙ НЕЙРОСЕТИ,
ОСНОВАННОЙ НА ТРЕХСЛОЙНОМ ПЕРСЕПТРОНЕ,
НА ПРИМЕРЕ ЭКСПЕРТНОЙ СИСТЕМЫ ДЛЯ ОФТАЛЬМОЛОГИИ
Введение
База знаний (БЗ) экспертных систем (ЭС) наполняется человеком-экспертом, и, в силу своих психологических особенностей, эксперт может допускать различного рода ошибки, поэтому отладка представляет собой важный этап в создании ЭС. Отладкой ЭС в узком смысле называется процесс выявления, локализации ошибок в БЗ, а также коррекции БЗ, не связанной с выбором нового способа представления знаний. Важным этапом отладки является тестирование, заключающееся в прогоне ЭС на заданном множестве тестовых данных, и сравнение результатов вывода ЭС с эталонными, определяемыми экспертами. Для большинства известных ЭС тесты были построены вручную экспертами, что значительно увеличило общее время разработки системы. Проблема автоматизации построения тестов для систем, основанных на знаниях, остается одной из наиболее труднорешаемых.
Традиционной областью создания ЭС остается медицина. Эффективность лечебного вмешательства зависит не только от правильной и своевременной постановки диагноза и выбора оптимальной стратегии и тактики лечения. Немалую роль играет и точность соблюдения больным предписанного режима терапии - прежде всего медикаментозного. Тот факт, что больные далеко не всегда придерживаются лечения, назначенного им врачом, признан одной из самых серьезных и распространенных трудностей современной медицинской практики [1].
Комплаентность (compliance) - медицинский термин, который означает степень приверженности больных к назначенному лечению, которая связана в первую очередь с эффективностью лечения и переносимостью проводимой терапии [1]. На комплаентность могут влиять различные факторы: характер заболевания, необходимость посещения врача, сложность режима приема лекарств, побочные эффекты и переносимость лекарств, стоимость и доступность лекарств, личностные особенности пациента.
В целом необходимо отметить, что самая большая сложность, с которой сталкиваются исследователи при изучении вопросов комплаентности, - это мультифакторность. В настоящее время идентифицировано порядка 250 факторов, так или иначе обусловливающих отношение больных к соблюдению режима терапии. В целом комплаентность отражает сложное взаимодействие этих факторов, конфигурация которых меняется в динамике заболевания и на отдаленных этапах может существенно отличаться от начальной. Общепризнано деление упомянутых факторов на 4 большие группы:
1) факторы, связанные с терапией (медицинские);
2) факторы, связанные с больным, т. е. с его личностью и заболеванием (социальные);
3) факторы, связанные с врачом;
4) факторы, связанные с внешней средой (более всего с ее социальным аспектом).
Низкая комплаентность пациента может привести к утяжелению характера заболевания,
развитию его осложнений. В США 33-69 % от числа всех госпитализаций, связанных с медикаментами, обусловлены плохой приверженностью к лечению, что обходится стране приблизительно в 100 млрд долл. в год, т. е. значительно увеличивает расходы государства на здравоохранение.
Именно поэтому задача определения комплаентности пациента является одной из наиболее актуальных в современной медицине, особенно в амбулаторной практике, когда врач или медицинская сестра не могут постоянно наблюдать за пациентом, а функции контроля за терапией в значительной мере передаются самому пациенту. Разработка методов для эффективного решения данной задачи позволит увеличить эффективность лечения и снизить расходы здравоохранения.
В мировой медицине существуют исследования, посвящённые выявлению факторов, влияющих на комплаентность, способам её повышения, а также проблеме предсказания ее уровня [1]. При этом в настоящее время доказанной можно считать лишь возможность повышения приверженности пациента к лечению, отсутствует единая и чёткая формулировка параметров, оказывающих влияние на комплаентность, отсутствуют также формализованные алгоритмы её предсказания, и, следовательно, для решения данной проблемы алгоритмические методы не подходят.
Офтальмология является одним из направлений медицины, где проблема прогноза комп-лаентности стоит особенно остро. Пациенты с глаукомой могут иметь асимптомное течение заболевания; при назначении им медикаментозной антиглаукоматозной терапии у них могут возникать какие-либо неприятные побочные действия, связанные с лечением, что может стать причиной отказа от терапии.
По современным представлениям именно низкая комплаентность является основной причиной неэффективного лечения глаукомы у большинства пациентов. Отметим, что применение алгоритмических и статистических методов для решения данной задачи оказалось безуспешным.
Разработка нейросетевой ЭС «Glaucoma Compliant»
Для решения вышепоставленной задачи была разработана ЭС «Glaukoma Compliant», в качестве системы принятия решений которой был выбран трёхслойный персептрон с нелинейной сигмоидной функцией активации нейронов [2]. В качестве экспертов в данной предметной области выступили сотрудники Клиники глазных болезней ГОУ ВПО «Саратовский государственный медицинский университет» - доктор медицинских наук, заведующая кафедрой глазных болезней Саратовского государственного медицинского университета Т. Г. Каменских и ассистент И. В. Щербинина. В результате работы с экспертами было выделено множество входных факторов F' = {/,f2,... //}, где n = 94. Каждый фактор / был представлен в виде совокупности входных нейронов {fi1, fi2 ... fik} для подачи на вход нейронной сети (НС). В результате объединения совокупностей входных нейронов каждого фактора /' получили множество входных нейронов НС F = {/J, /2,... fn } , где n = 132. Множество выходных классов O' включило в себя 2 класса: O' = {o(, o2} , где o[ - класс комплаентных пациентов; о2 - класс некомпла-ентных пациентов. Для представления множества O' на выходном слое сети оказалось достаточно одного нейрона O = {o^. Для комплаентного пациента установим o1 = 1, для некомплаентного o1 = 0 . Из 300 имеющихся наблюдений 200 были использованы для создания обучающего множества L, 50 - для создания контрольного множества C, 50 - для создания валидационного множества V. Из 200 обучающих примеров множества L 109 соответствуют пациентам с доподлинно известной комплаентностью, 91 - пациентам с доподлинно известной некоплаентностью. Количество нейронов на промежуточном слое персептрона P было выбрано равным 16. Персептрон P обучался методом обратного распространения ошибки [3]. Количество эпох составило 400. В результате обучения суммарная квадратическая ошибка E персептрона P по валидационному множеству V снизилась с 19,43 до 3,4. Точность классификации обученного персептрона составила 85 %, что больше, чем точность классификации, требуемой от системы экспертами. Исходя из вышесказанного, можно сделать вывод об успешном обучении персептрона P.
Тестирование нейросети на валидационном множестве V выявило 7 случаев несовпадения результата, выдаваемого системой, и реально наблюдаемого результата. Значение нейрона o1
для данных случаев оказалось в интервале o1 е[0,46,... 0,54]. Очевидно, что если o1 = 0,5, то нейросеть не может отнести наблюдение к какому-либо классу. Экспертным путём было принято решение считать результат НС достоверным, если |o1 — 0,5| > 0,07 . При данном условии
НС не совершает ошибочной классификации на множестве V.
Однако обучение ЭС на множестве, сформированном экспертами, не гарантирует отсутствия ошибок при работе для определения комплаентности реальных пациентов. Причина в том, что эксперту свойственно забывать факторы, препятствующие установке выходных нейронов, а это приводит к ошибке типа «забывание об исключении» [4, 5]. Данная ошибка является наиболее общей и покрывает другие классы ошибок.
Важной частью отладки ЭС является генерация такого тестового набора Т, который вызовет ошибку типа «забывание об исключении». Под тестовым набором T будем понимать множество пар известных входных и соответствующих выходных векторов системы:
T = {< Хъ Y1 >,< X2, Y2 >,..., < , Yw >}; Xt = {xx, *2,..., Xp}, Y = {yl, У2,..., y} . (1)
Для решения задачи генерации тестового набора был разработан следующий алгоритм.
Алгоритм построения полного множества тестов НС, основанной на трехслойном персептроне
1. Для персептрона Р рассмотреть первый нейрон выходного слоя .
1.1. Составить для нейрона £^1 упорядоченную последовательность ЯШИ\, состоящую из нейронов входного слоя, упорядоченных по абсолютному значению весового коэффициента связи с нейроном 5^21:
ямих = {} ..,| льэ(W21) < льэ(Ш2+1)}. (2)
1.2. Для нейрона составить последовательность ЯЯШИх, полученную путём усечения длины последовательности ЯШ1ИI, полученной в предыдущем шаге. В последовательность ЯЯШИг включаются первые ЫШИ элементов ЯШИи 1 < ЫШИ < д.
1.3. Повторить шаги 1. 1—1.2 для всех нейронов промежуточного слоя. В результате получить множество последовательностей {ЯЯШИЬ ЯЯШИ2 ... ЯЯШ1И}.
1.4. Выделить из обучающего множества Ь подмножество Ь\ такое, что каждый входной вектор Ь\ активирует первый (рассматриваемый) нейрон выходного слоя:
Ь\ с Ь, " (< X, У > с Ь\ ) 1 - У < 1 - У„, п = 2 ... р. (3)
1.5. Для нейрона Ш' подсчитать индекс значимости II21. Для этого:
1.5.1. Подать на вход сети элементы обучающего подмножества Ьь подсчитать среднее активационное значение ЛЛЬ21 нейрона St 21 :
X 521
ЛЛЬ21 = ^------, (4)
п
где ^2 1 - активационное значение нейрона при подаче на вход Р примера ' из обучающего подмножества Т\, п - мощность подмножества Ть
1.5.2. Подсчитать индекс значимости И21:
II21 =
AAL21 -Wh. (5)
2. Повторить шаг 1 для каждого нейрона скрытого слоя. Получить последовательность индексов значимостей II21, II22 , • • • II21.
3. Построить последовательность скрытых нейронов RWHO\ для данного выходного нейрона S31. Упорядочение производится по возрастанию соответствующих индексов значимости, знаки элементов последовательности берутся равными знакам соответствующих весовых коэффициентов связей нейронов скрытого слоя с рассматриваемым нейроном выходного слоя St31:
RWHOX = sign (W1) ■ \St2t I, sign (W/1) ■ |St2y| •; II^ < II2j . (6)
4. Построить матрицу ATTR, строками которой являются последовательности RRWIH, полученные в шагах 1.1-1.3, отсортированные по порядку следования соответствующих элементов последовательности RWHO1, полученной в п. 3. При этом инвертировать знаки элементов матрицы ATTR в тех строках, которые соответствуют отрицательным элементам последовательности RRWHO:
ATTR =
sign(Wi) • RRWINt sign(W3m) • RRWINm sign(W3n:) • RRWINn
II2l < II2m < II2n •
(7)
5. Построить нулевую матрицу ЯЛТТЯ размером ' ■ у, где ' - количество входных атрибутов; ] - наибольшее количество возможных значений атрибутов.
6. Заполнить ЯЛТТЯ. Для этого:
6.1. Рассмотреть элемент ЛТТЯц. Пусть элементом ЛТТЯц является нейрон Stfh . Тогда ЯЛТТЯ^ примет значение -1, если Stgh < 1, и +1, если 5^ > 1:
RATTRh g = sign (Stgh).
(8)
6.2. Занести пару <Н, g> в список и использованных координат.
6.3. Повторить шаг 6.2 для ЛТТЯ12 ... ЛТТЯ1, мтн. При этом, если текущие значения пары <Н, g> присутствуют в списке использованных координат и, то ЯЛТТЯ^Ъ новое значение не присваивается.
6.4. Повторить шаги 6.1—6.3 для всех строк ЛТТЯ.
7. На основе матрицы ЯЛТТЯ построить классифицирующее правило ЯиЬЕ1. Если ЯЛТТЯу = 1, то это означает, что атрибут і должен принимать у-е значение, если ЯЛТТЯу = -1, то это означает, что атрибут і не должен приниматьу-е значение. ЯиЬЕ1:
^“М1 = 1(0))ог(£1т1’п2 = 1(0)...)апё
(£“ ^ п1 = 1(0)) ог^^2 = 1(0)...)апё,
. 1Ьеп_о1а881
8. Повторить шаг 1 для всех остальных выходных нейронов £3 2 . чить набор классифицирующих правил вида:
^(£^1п1 = 1(0))ог(,»1“1’п2 = 1(0)...)апё
(£“2, п1 = 1(0)) ог (£^п2 = 1(0).. .)апё ,
... 1Ьеп_е1а881
Х£Ш1,п1 = 1(0))ог(£ґт1 >п2 = 1(0)...)апё
(»1?п1 = 1(0))ог(£“/2’п2 = 1(0)...)аші , ...
St
3,3 • •
(9)
. В итоге полу-
...then class
2
if (StJ’n1 = 1(0))or(St:m}n2 = 1(0)...)and
(S# n1 = 1(0))or(Sti:2, n2 = 1(0)...)and,
. then_class
(10)
9. Для множества правил, полученных в п. 8, построить соответствующую логическую схему Б. Экспертным методом сформировать множество запрещённых кубов С1. Множество разрешённых кубов С получить путем вычитания из куба всевозможных комбинаций Я значений запрещённых кубов из множества Сі: С = Я - С11 - Сі2 - Сі3... - С^.
10. Установить множество тестов Т пустым: Т = 0.
11. Применить алгоритм построения полного множества тестов.
Алгоритм построения полного множества тестов
Для построения полного множества тестовых наборов для обнаружения ошибок типа «забывание об исключении» для системы правил [4] предлагается следующий алгоритм.
1. Установить искомое множество тестов T пустым: T = 0 .
2. Выбрать очередное правило.
3. Установить факты, необходимые для ее активизации. Если их установка противоречит множеству C, то сообщить об ошибке и идти к п. 7.
4. Воспользоваться алгоритмом PODEM [6] для получения множества кубов T:, которое является тестовым для выбранной продукции. Кубы T1 пересекаются с кубами множества C по мере их формирования. Пусть T2 = T1 П C, где « П » обозначает пересечение множеств кубов.
5. В кубах T2 заменить все символы «X» на «1». В полученном списке исключить повторяющиеся кубы. Результат есть множество кубов T3.
6. Выполнить объединение множеств двоичных наборов T T3. Результат назначить новым множеством T.
7. Если есть еще продукции, то идти к п. 2.
8. Конец.
Так как PODEM обеспечивает построение теста всегда, когда он существует, то теми же свойствами обладает и предложенный алгоритм.
1. Полученное в результате применения алгоритма классифицирующее правило имеет вид:
ЕСЛИ (f илиf9 ) иfi9 иf20 иf23 иf35 и f или f^) и
f54 иf58 иf64 иf67 и (f77 или f-,9) и /8і и f или /Ss) и f99 и (/і 10 или fill) и f:i4 и (/і 23 или /ш) и f:27 и f:29 ТО О: (11)
Данное правило корректно классифицирует 80 % наблюдений из валидационного множества V, и оно было признано адекватным исходной НС. Для правила (11) была построена логическая сеть вида, показанного на рисунке. Смысловые значения факторов приведены в табл. 1.
Логическая схема для правила (11)
Таблица 1
Значения факторов ЭС
Обозначение Значение фактора
/8 Возраст = молодой
/9 Возраст = средних лет
/19 Хобби = нет
/2о Хобби2 = интеллектуальный труд
/23 Семейное положение = холост
/35 Стаж работы на 1 месте = менее 5 лет
/51 Заболевание сердечно-сосудистой системы = ишемическая болезнь
/53 Заболевание сердечно-сосудистой системы = дистония
/54 Другие заболевания = есть
/58 Препараты по другим заболеваниям = применяются 1 раз в день
/64 Длительность глаукомы = до 3 лет
/67 Состояние глаукомы = стабильно
/77 Количество скотом = множественные
/79 Количество скотом = расширение слепого пятна
/81 Кратность инстилляции антиглаукомных капель = 1 раз в день
/8б Инстилляция других глазных капель = антибактериальная
/88 Инстилляция других глазных капель = не назначено
/99 Асимметрия внутриглазного давления на парном гл. = более 5 мм рт. ст.
/110 Другие заболевания, влияющие на зрение = нет
/111 Другие заболевания, влияющие на зрение = катаракта
/114 Инвалидность = по другому заболеванию
/123 Число посещений офтальмолога в год = 0;1; 2
/125 Число посещений офтальмолога в год = не назначено
/127 Профдиспансеризация 1 раз в год = не проводилась
/129 Понимание необходимости 100 % инстилляции антиглаукомных капель = не назначено
/133 Понимание необходимости посещения врача не реже 3-4 раз в год = не назначено
2. Построенное экспертным методом множество кубов запрещённых комбинаций значений входных факторов Сz приведено в табл. 2.
Таблица 2
Список кубов запрещённых комбинаций значений факторов
/8 /9 /19 /20 /23 /35 /51 /53 /54 /58 /64 /67 /77 /79 /81 /86 /88 /99 /110 /111 /114 /123 /125 /127 /129 /133
1 1 X X X X X X X X X X X X X X X X X X X X X X X X
X X X X X X X X 0 1 X X X X X X X X X X X X X X X X
X X X X X X X X X X X X 1 1 X X X X X X X X X X X X
X X X X X X X X X X X X X X X 1 1 X X X X X X X X X
X X X X X X X X X X X X X X X X X X 1 1 X X X X X X
X X X X X X X X 0 X X X X X X X X X X X 1 X X X X X
X X X X X X X X X X X X X X X X X X X X X 1 1 X X X
X X X X X X 0 0 0 1 X X X X X X X X X X X X X X X X
В табл. 2 символ 0 обозначает отсутствие данного признака, символ 1 - присутствие данного признака, символ X - установка данного признака не важна.
3. Установим искомое множество тестов Т пустым и применим алгоритм генерации тестов РОББЫ для входных линий схемы. Рассмотрим линию /1:
1. Установим значение В на линии 11. Инициализируем стек .О-границы и внесём в него элемент Ь1, т. к. для данного элемента линия 11 является входной.
2. Выполнив операцию импликации, получим /8 =1.
3. Выполним операцию В-прохода через элемент Ь1. Линия /27 = В, если 12 = 0, /9 = 0.
4. Поместим в стек В-прохода элемент Ь7, который является следующим после Ь1 по направлению к выходу схемы.
5. Выполним операцию В-прохода через элемент Ь7. Получим:
Ь7 = В, если
1з = /4 = /5 = /б = 128 = 19 = 110 = 111 = 112 = 129 = 115 = 130 = 118 = 131 = 121 = 132 = 124 = 125 = 126 = 1.
6. Занесём элементы Ь2, Ь3, Ь4, Ь5, Ь6 в стек возврата.
7. Выполнив операцию импликации, получим: 133 = В,
/\9 = /20 = /23 = У35 = ^54 = ^58 = /64 = ^67 = /81 = /99 = /и4 = /127 = /129 = /1ЗЗ = 1.
8. Выполним операцию возврата для элемента Ь6, находящегося на вершине стека возврата: Ь6 = 1, если 122 = 1 или 123 = 1. Линии 122 и 123 равноудалены от входных контактов и в то же время равноудалены от выходного контакта схемы, поэтому выберем линию с минимальным порядковым номером 122. Итак, операция возврата для элемента Ь6 даёт 122 = 1.
9. Выполнив операцию импликации, получим /123 = 1.
10. Повторим операции 8-9 для остальных элементов в стеке возврата. Для элемента Ь5 получим 119 = 1, /110 = 1; Для элемента Ь4 получим 116 = 1, /86 = 1; для элемента Ь3 получим 113 = 1, /77 = 1; для элемента Ь2 получим 17 = 1, /51 = 1.
11. На шаге 7 значение В достигло выходной линии схемы, поэтому получившиеся в ходе выполнения алгоритма значения входных факторов / примем за тест t1 и занесём его в искомое множество тестов Т. Сформулируем полученный тест ^ в виде куба:
Ь = {1, 0, 1, 1, 1, 1, 1, X, 1, 1, 1, 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, 1}.
Применив алгоритм РОББЫ для остальных входных линий схемы, получим следующие кубы тестов:
- для линии 12. t2 = {0, 1, 1, 1, 1, 1, 1,X, 1, 1, 1, 1, 1,X, 1, 1,X, 1, 1,X, 1, 1,X, 1, 1, 1};
- для линий 13,14,15,16: ^ = t4 = t5 = t6 =
= {1, X, 1, 1, 1, 1, 1, X, 1, 1, 1, 1, 1, х 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, 1};
- для линии 17: ^ = {1, X, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, 1};
- для линии 18: ^ = {1, X, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, X, 1, 1, 1};
— для линии /9, /\0, /\\, /\2. ^9 — Ґ\о —
— ^\2 —
X, \, \, \, \, \, X, \, \, X, \, \, X, \
- для линии Д3 ^\3 — {\, X, \ \, \ \, X, \, \, \, , \, \, 0, \, \, X, \, \, X, \, X, \,
- для линии Д4 Ґ\4 — {\, X, і \, \ \, X, \, \, \, , \, 0, \, \, \, X, \, \, X, \, X, \,
- для линии /15 ^\5 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, \, X, \, X, \,
- для линии /16 (\6 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, 0, \, \, X, \, X, \,
- для линии /17 1\7 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, 0, \, \, \, X, \, X, \,
- для линии 1\8 $\ 8 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, \, X, \, X, \,
- для линии Д9: Ґ\9 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, \, 0, \, X, \,
- для линии 120 ^20 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, 0, \, \, X, \,
- для линии /21 ^2\ — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, \, X, \, X, \,
- для линии 122 ^22 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, \, X, \, 0, \,
- для линии 123 ^23 — {\, X, \ \, \ \, \, X, \, \, , \, \, X, \, \, X, \, \, X, 0, \, \,
- для линий /24, /25, 126. ^24 — ^25 — ^26 —
X, \, \, \, \, \, X, \, \, \, \, \, X, \, \, X, \ \, X, \ \, X, \, \, \}
Получившееся множество к убов тестов Т представлено в СП б а т
Таблица 3
Множество кубов тестов для логической схемы
f8 f9 f19 f20 f23 f35 f51 f53 f54 f58 f64 f67 f77 f79 f81 f86 f88 f99 f110 f111 f114 f123 f125 f127 f129 f133
1 0 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 X 1 1 X 1 1 1
0 1 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 0 1 1 1 1 1 X 1 1 X 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 1 1 1 1 1 X 1 1 X 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 0 1 1 X 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 1 1 X 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 0 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 1 1 X 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 0 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 1 1 X 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 X 1 1 0 1 1 1
1 X 1 1 1 1 1 X 1 1 1 1 1 X 1 1 X 1 1 X 1 0 1 1 1 1
Вычтем из множества тестовых кубов, полученных после применения метода РОББЫ (табл. 3), множество кубов запрещённых комбинаций С2 (табл. 2). Получившееся итоговое множество кубов тестов (после удаления повторяющихся кубов) представлено в табл. 4.
Таблица 4
Итоговое множество кубов тестов для логической схемы
№ тес та f8 f9 f19 f20 f23 f35 f51 f53 f54 f58 f64 f67 f77 f79 f81 f86 f88 f99 f110 f111 f114 f123 f125 f127 f129 f133
1 0 1 1 1 1 1 1 X 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
2 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
3 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
4 1 0 1 1 1 1 1 X 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1
5 1 0 1 1 1 1 1 X 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1
6 1 0 1 1 1 1 1 X 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1
7 1 0 1 1 1 1 1 X 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
8 1 0 1 1 1 1 1 X 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1
Сформируем результирующее тестовое множество. Для каждой строки табл. 4 был сформирован элемент тестового множества Т, при этом, если в ячейке, соответствующей признаку / содержалась 1, то признак / устанавливался; если в ячейке, соответствующей признаку /, содержался 0 или X, то признак / не устанавливался; значения для других входных факторов системы, не входящих в табл. 3, устанавливались произвольным образом. В табл. 5 приведены полученные тесты (значения факторов, не входящих в табл. 3, для простоты опущены).
Таблица 5
Итоговое множество тестов для логической схемы
№ тес та f8 f9 f19 f20 f23 f35 f51 f53 f54 f58 f64 f67 f77 f79 f81 f86 f88 f99 f110 f111 f114 f123 f125 f127 f129 f133
1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
2 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
3 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
4 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1
5 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1
6 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1
7 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1
8 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1
В ходе работы алгоритма PODEM до выхода схемы распространялось значение D, которое подразумевает 1 при исправной схеме и 0 при неисправной схеме. Это означает, что в случае корректной работы НС тестовые примеры табл. 5 должны быть классифицированы НС как относящиеся к классу о[, т. е. к классу комплаентных пациентов. Для реализации указанных алгоритмов построения полного множества тестов было разработано программное обеспечение NNetwork Tester.
Тестирование показало, что НС выдаёт неверный результат на тестах l и 6 в табл. 5. В результате экспертного анализа выяснилось, что ошибка НС на тесте l связана с установкой исключительной комбинации входных факторов /9 (средний возраст) и /51 (наличие ишемической болезни сердца). Такая комбинация связана с наличием у пациента сильного эмоционального стресса, однако соответствующий входной фактор не был предусмотрен при обучении ЭС. Ошибка нейросети на тесте 6 связана с установкой исключительной комбинации входных факторов /111 (наличие катаракты) и /8 (молодой возраст). На практике такая комбинация в большинстве случаев связана лишь с начальной стадией катаракты, которая не обладает ярко выраженными симптомами, повышающими страх пациента перед последствием заболевания, а следовательно, его комплаентность.
Исходя из вышеуказанных ошибок, обнаруженных при тестировании ЭС «Glaucoma Compliant», были составлены следующие рекомендации:
1. Включить в список входных факторов системы F такой фактор, как наличие сильного эмоционального стресса у пациента.
2. Включить в обучающее множество L примеры, соответствующие пациентам молодого возраста с наличием катаракты на более поздней стадии.
3. Переобучить систему на новом обучающем множестве L c новым набором входных факторов F.
Заключение
Разработанный алгоритм построения полного тестового множества и разработанное на его основе программное обеспечение позволили сократить общее время отладки нейросетевой экспертной системы «Glaucoma Compliant», решающей актуальную медицинскую проблему прогноза комплаентности пациентов в офтальмологии. Алгоритм показал свою эффективность для тестирования систем искусственного интеллекта, основанных на модели трехслойного персептрона.
СПИСОК ЛИТЕРАТУРЫ
1. htt^://www.consilium-medicum.com. I обращение к ресурсу от 4.12.200S.
2. Rosenblatt F. Principles of neurodynamics: Perceptrons and the Theory of Brain Mechanisms. - New York: Spartan Books, l962. - l76 p.
3. Rumelhart D., Hinton G., Williams R. Learning Representations by Back-propagating Errors II Nature. -Cambridge, 1986. - Т. 323. - P. 533-57S.
4. Долинина О. Н. Разработка метода тестирования продукционных баз знаний экспертных систем с учётом ошибок типа «забывание об исключении». - Саратов, 1997. - Деп. в ВИНИТИ № 678-B97. - 171 c.
5. Долинина О. Н., Кузьмин А. К. Особенности создания экспертных систем, основанных на нейросетевом представлении знаний II Вестн. Сарат. гос. техн. ун-та. - 2009. - № 2 (33). - С. 266-272.
6. GoelP., Rosales B. «PODEM-Х»: an automatic test generation system for VISI logic structures II Proc. 18th IEEE Design Automation Conf, 1981. - P. 260-268.
Статья поступила в редакцию 25.05.2011
DEBUGGING OF NEURAL NETWORK BASED ON 3-LAYER PERCEPTRON BY THE EXAMPLE OF EXPERT SYSTEM IN OPHTHALMOLOGY
O. N. Dolinina, A. K. Kuzmin
The algorithm of development of full set of tests for debugging of neural network expert systems based on threelayer perceptron is considered. The algorithm is based on rules extraction from neural network and using of the method of technical diagnostics PODEM. The use of algorithm for testing of expert system Glaukoma Complaint for prognosis of compliance of ophthalmologic patients is described.
Key words: neural networks, threelayer perceptron, rules extraction, development of full set of tests.