Извлечение правил из нейронных сетей
Рассмотрим один из методов извлечения правил из нейронных сетей, обученных решению задачи классификации (Lu, Setiono and Liu, 1995). Этот метод носит название NeuroRule. Задача состоит в классификации некоторого набора данных с помощью многослойного персептрона и последующего анализа полученной сети с целью нахождения классифицирующих правил, описывающих каждый из классов. Пусть A обозначает набор из N свойств A1,A2...AN , а {a} - множество возможных значений, которое может принимать свойство Ai. Обозначим через С множество классов c1,c2...cN. Для обучающей выборки известны ассоциированные пары векторов входных и выходных значений (a1...am,ck), где ck
C. Алгоритм извлечения классифицирующих правил включает три этапа:
- Обучение нейронной сети. На этом первом шаге двухслойный персептрон тренируется на обучающем наборе вплоть до получения достаточной точности классификации.
- Прореживание (pruning) нейронной сети. Обученная нейронная сеть содержит все возможные связи между входными нейронами и нейронами скрытого слоя, а также между последними и выходными нейронами. Полное число этих связей обычно столь велико, что из анализа их значений невозможно извлечь обозримые для пользователя классифицирующие правила. Прореживание заключается в удалении излишних связей и нейронов, не приводящем к увеличению ошибки классификации сетью. Результирующая сеть обычно содержит немного нейронов и связей между ними и ее функционирование поддается исследованию.
- Извлечение правил. На этом этапе из прореженной нейронной сети извлекаются правила, имеющие форму если (a1 q1) и (a2 q2) и ... и (an qn), то , где - константы, - оператор отношения ( ). Предполагается, что эти правила достаточно очевидны при проверке и легко применяются к большим базам данных.
Рассмотрим все эти шаги более подробно
Содержание раздела