Извлечение правил из нейронных сетей
Рассмотрим один из методов извлечения правил из нейронных сетей, обученных решению задачи классификации (Lu, Setiono and Liu, 1995). Этот метод носит название NeuroRule.
Задача состоит в классификации некоторого набора данных с помощью многослойного персептрона и последующего анализа полученной сети с целью нахождения классифицирующих правил, описывающих каждый из классов.
Пусть А обозначает набор из N свойств А,А2,...,А, а {й,}- множество возможных значений, которое может принимать свойство Д. Обозначим через С множество классов Cj,C2,...,c„,. Для обучающей выборки известны ассоциированные пары векторов входных и выходных значений {а,...,а,с) ,ще .
Алгоритм извлечения классифицирующих правил включает три этапа:
1.Обучение нейронной сети. На этом первом шаге двухслойный персептрон тренируется на обучающем наборе вплоть до получения достаточной точности классификации.
2.Прореживание (pruning) нейронной сети. Обученная нейронная сеть содержит все возможные связи между входными нейронами и нейронами скрытого слоя, а также между последними и выходными нейронами. Полное число этих связей обычно столь велико, что из анализа их значений невозможно извлечь обозримые для пользователя классифицирующие правила. Прореживание заключается в удалении излишних связей и нейронов, не приводящем к увеличению ошибки классификации сетью. Результирующая сеть обычно содержит немного нейронов и связей между ними и ее функционирование поддается исследованию.
3.Извлечение правил. На этом этапе из прореженной нейронной сети извлекаются правила, имеющие форму если (aj0j) и 02) и ... и [ajdq,), то с,, ще q,...,qj -
действительно можно использовать для получения наглядно сформулированных правил было важным событием конца 80-х годов. В 1989 году один из авторов настоящего курса поинтересовался у Роберта Хехт-Нильсена, главы одной из наиболее известных американских нейрокомпьютерных фирм Hecht-Nielsen Neurocomputers, где можно узнать подробности о нейроэкспертных системах, информация о которых тогда носила только рекламный характер. Хехт-Нильсен ответил в том смысле, что она не доступна. Но уже через 2-3 месяца после этого в журнале Artificial Intelligence Expert была опубликована информация о том, что после долгих и трудных переговоров Хехт-Нильсен и крупнейший авторитет в области экспертных систем Гэллант запатентовали метод извлечения правил из обученных нейронных сетей и метод автоматической нейросетевой генерации экспертных систем.
Извлечение правил из нейронных сетей подразумевает их предварительное обучение. Поскольку эта процедура требует много времени для больших баз данных, то естественна та критика, которой подвергается использование нейротехнологии для извлечения знаний. Другим поводом для такой критики является трудность инкорпорации в нейронные сети некоторых имеющихся априорных знаний. Тем не менее, главным является артикуляция правил на основе анализа структуры нейронной сети. Если эта задача решается, то низкая ошибка классификации и робастность нейронных сетей дают им преимущества перед другими методами извлечения знаний.
Обучение нейронной сети
Предположим, что обучающий набор данных необходимо расклассифицировать на два класса А ]л В. В этом случае сеть должна содержать Л входных и 2 выходных нейрона. Каждому из классов будут соответствовать следующие активности выходных нейронов (1,0) и (0,1). Подходящее количество нейронов в промежуточном слое, вообще говоря, невозможно определить заранее - слишком большое их число ведет к переобучению, в то время как малое не обеспечивает достаточной точности обучения. Тем не мене, как уже отмечалось ранее, все методы адаптивного поиска числа нейронов в промежуточном слое делятся на два класса, в соответствии с тем, с малого или большого числа промежуточных нейронов стартует алгоритм. В первом случае по мере обучения в сеть добавляются дополнительные нейроны, в противоположном - после обучения происходит уничтожение излишних нейронов и связей. NeuroRule использует последний подход, так что число промежуточных нейронов выбирается достаточно большим. Заметим, что NeuroRule уничтожает также и избыточные входные нейроны, влияние которых на классификацию мало.
В качестве функции активации промежуточных нейронов используется гиперболический тангенс, так что их состояния изменяются в интервале [-1,1]. В то же время, функцией активации выходных нейронов является функция Ферми (состояния в интервале [0,1]). Обозначим через
о*,(/ = 1,2) - состояния выходных нейронов при предъявлении на вход сети вектора
признаков к -го объекта х*". Будем считать, что этот объект правильно классифицирован сетью, если
к ,к
где: = 1 если х g А \л 4=1 если х*" е 5 , а О < ?7j < 0.5. В остальных случаях t =0.
Минимизируемая функция ошибки должна не только направлять процесс обучения в сторону правильной классификации всех объектов обучающей выборки, но и делать малыми значения многих связей в сети, чтобы облегчить процесс их прореживания. Подобную технологию - путем добавления к функции ошибки специально подобранных штрафных членов - мы уже разбирали в Главе 3. В методе NeuroRule функция ошибка включает два слагаемых
Е = + £ Е, где
0 = -Е Е it log of + (1 - ) log(l - of ))
к i
функция взаимной энтропии, минимизация которой происходит быстрее, чем минимизация среднеквадратичной ошибки. Штрафная функция
константы, 0- оператор отношения (=,>,<,><). Предполагается, что эти правила достаточно очевидны при проверке и легко применяются к большим базам данных.
Рассмотрим все эти шаги более подробно
,=1 ;=i 1 + (Wu ),=1 1
уже фигурировала в Главе 3.
Здесь Nf - число нейронов в скрытом слое, - величина связи, между j -м входным и / -м скрытым нейронами м>1 - вес связи между / -м скрытым и / -м выходным нейронами.
Использование регуляризирующего члена приводит к дифференциации весов по
величинам, уменьшая большинство, но сохраняя значения некоторых из них. Обучение сети производится методом обратного распространения ошибки.
Прореживание нейронной сети
Полное число связей в обученной сети составляет (N + Ng)N. Можно показать, что связь
между входным и промежуточным нейроном wt можно удалить без снижения точности
классификации сетью при выполнении условий maxwwf < 477, и + < 0.5. Аналогичным образом, удаление связи w°, не влияет на качество классификации если
Извлечение правил
Даже если параметры, описывающие признаки классифицируемых объектов, представляют собой непрерывные величины, для их представления можно использовать бинарные нейроны и принцип кодирования типа термометра. При таком способе кодирования область изменения параметра делится на конечное число М интервалов и для представления всех значений, лежащих в т-ш интервале используется следующее состояние М бинарных нейронов: (0,...,1,...,1).