Применение генетических алгоритмов в гибридных методах
классификации
Козеев О.Е., Москва МГИЭМ, кафедра ИТ АС
Задача классификации (предсказание значения класса для объекта, описанного некоторым набором атрибутов) является одной из наиболее распространенных задач в интеллектуальном анализе данных.
Разработчики всегда стремились повысить точность моделей, создаваемых с помощью алгоритмов интеллектуального анализа. Однако быстро стало понятно, что требуемой точности трудно добиться, ограничившись лишь одним алгоритмом. Поэтому широкое распространение получили всевозможные гибридные системы. Некоторые из них основаны на синтезе традиционных методов, в других классические алгоритмы дополняются методами, ранее не применявшиеся широко в чистом виде в интеллектуальном анализе.
Именно к последнему типу можно отнести сочетание классических методов классификации и генетических алгоритмов. Генетические алгоритмы (ГА) относятся к числу универсальных методов оптимизации, позволяющих решать задачи многокритериального поиска в большом пространстве, ландшафт которого является негладким. Несмотря на критику в адрес генетических алгоритмов, эффективность их интеграции с другими методами интеллектуального анализа нашла практическое подтверждение в многочисленных научных работах и коммерческих программных продуктах. Приведем перечень наиболее распространенных гибридных методов, использующих генетические алгоритмы (ГА):
ГА + метод к - ближайших соседей;
ГА + байесовский классификатор;
ГА + деревья решений;
ГА + нейронные сети;
Рассмотрим подробнее перечисленные методы.
ГА + метод к - ближайших соседей
Для классификации объектов используется метод к - ближайших соседей. Хотя метод не строит никаких правил и не учитывает зависимости между атрибутами объектов, он показывает приемлемые результаты в реальных задачах.
Генетический алгоритм используется для нахождения оптимального набора параметров метода ближайших соседей (весовых коэффициентов, отражающих релевантность каждого атрибута объекта, и количества ближайших соседей).
Собственно получение вектора весовых коэффициентов, в котором отражены значимость каждого атрибута объекта, представляет собой один из видов задач data mining, известную как выделение атрибутов (feature extraction) [7]. В этой задачи основной целью является понимание влияния атрибутов, выделение из них наиболее релевантных.
Популяция состоит из особей, каждая из которых определяется одной хромосомой следующего вида:
Bi Bn Wi Wm K
где Б1...БМ - вектор булевых переменных длины N - количество записей в обучающей выборке. Б; = 1 - запись учитывается при классификации, Б; = 0 -запись не учитывается.
Это делается для того, чтобы сформировать из первоначальной обучающей выборки множество записей (обычно меньшее) при сохранении точности классификации. Благодаря этому в конечном итоге метод к-ближайших соседей будет работать быстрее. Также такой подход может избавиться от выбросов и искажений, ухудшающих точность метода.
- вектор весовых коэффициентов длины т - количество атрибутов, участвующих в классификации. Чем меньше значение весового коэффициента, тем меньший вклад он вносит в классификацию. Атрибуты объекта со значениями весовых коэффициентов близкими к нулю вообще не учитываются. К - целое число, задающее количество ближайших соседей.
В методе используются стандартные генетические операции. Если гены представлены вещественными или целыми числами, используется мутация, адаптирующаяся к популяции. Мутация гена заключается в изменении значения
гена (в большую или меньшую сторону) на определенную величину, которая определяется дисперсией значений данного гена в популяции.
Генетический алгоритм использует обратную связь от метода ближайших соседей для оценки приспособленности каждой особи.
В качестве критерия качества работы метода используется функция стоимости следуюш,его вида: AF = Cpred (rerr) + Cbal (dbal) + Cmask (nmask),
где Cpred - стоимость неправильных предсказаний
rerr - частота неправильной классификации
Cbai - стоимость различия в точности классификации между классами dbai - разность между максимальной и минимальной точностью классификации (частота неправильной классификации) среди всех классов.
Cmask - стоимость использования (измерения) одного параметра (поля) для записи.
nmask - количество используемых при классификации атрибутов. Функция приспособленности = 1 / AF. Такая функция позволяет одновременно учитывать точность классификации, поддерживать приблизительно одинаковую точность классификации по всем классам (неравномерность может быть вызвана недостаточно представительной обучаюшей выборкой), стремиться сократить количество используемых атрибутов при сохранении точности, так как большое количество атрибутов увеличивает вычислительную сложность классификации.
ГА + байесовский классификатор
В данном методе используется байесовский классификатор, усиленный генетическим алгоритмом. Генетический алгоритм используется для нахождения оптимального вектора весовых коэффициентов атрибутов, который с одной стороны выделяет релевантные атрибуты объекта, а с другой - исключает из рассмотрения малозначашие атрибуты тем самым, снижая размерность задачи и как результат уменьшая время анализа [9].
Хромосомы имеют вид аналогичный приведенному выше для метода к -ближайших соседей. С учетом использования весовых коэффициентов дискриминационная байесовская функция имеет вид:
P(x | w) = Ci log(P(Xi | w)) + C2 log(x2 | w) + • + Cd log(х^ | w) + log(w), где
C1 • Cd - вектор весовых коэффициентов атрибутов, аналогичный рассмотренному выше.
Генетический алгоритм использует обратную связь от байесовского классификатора для оценки приспособленности каждой особи. Все сказанное о генетических операторах для метода к - ближайших соседей справедливо и для гибридного байесовского классификатора.
В качестве критерия качества работы метода используется уже описанная функция стоимости следующего вида:
= Cpred (r err) + Cbal (dbal) + Cmask (nmask ) .
Следующая таблица демонстрирует преимущества применения ГА.
Метод Точность, % Количество атрибутов
Naïve Bayes 65.7 19
Байес + ГА 79.4 7
К-ближайших соседей 82.3 -
К-ближайших соседей + ГА 94.09
Результаты, относящиеся к методу Байеса, взяты из исследований [9], а к методу к - ближайших соседей из исследований [7]. В обоих случаях количество классов равно двум.
ГА + деревья решений
Деревья решений предназначены для выявления и изображения логических закономерностей в данных. Логические правила, образующиеся при перемещении с верхних уровней дерева на нижние (листья), представляют собой цепочки конъюнкций, использующиеся в правой части (1Б - части) правил классификации.
Известно множество методов, направленных на построение (преобразование) деревьев, которые могли бы быть легко преобразованы в статистически значимые правила.
Применение ГА позволяет оптимизировать построенное дерево. При этом дерево рассматривают как объект, характеризующийся набором констант, входящих в критерии расщепления его узлов [4]. Каждому набору этих констант
соответствует некоторый процент ошибок классификации. Нахождение оптимального набора констант (обеспечивающего минимальное количество ошибок) может быть произведено с помощью ГА.
Способ применения ГА состоит в следующем. Так как некоторые конъюнкции описывают небольшое количество объектов из обучающей выборки, то возникает сомнение в статистической значимости описываемых ими логических закономерностей [5].
Гибридный подход состоит в том, что если лист дерева решений описывает достаточно большое (в соответствии с некоторым пороговым значением) подмножество обучающей выборки, то правило на основе соответствующей конъюнкции строится обычным способом. Если же лист связан с небольшим по объему подмножеством, то для построения соответствующего правила применяется специальный генетический алгоритм.
Рассмотрим подробнее один из видов такого ГА. Подмножества малого объема, полученные в результате расщепления, объединяются в новое обучающее множество £ 2, и ГА запускается для этого обучающего множества один раз.
Хромосома представляет собой конъюнкцию логических выражений, с участием всех атрибутов объектов.
А£рУх
АпОрУп
где - атрибут объекта, Ор - операция отношения, У{ - константа.
Каждая особь представляет собой if часть правила. Этому правилу соответствует определенное подмножество из сформированного нового обучающего множества £2. В качестве ^^части правила выбирается тот класс, экземпляров которого больше в этом подмножестве.
Для генерации нескольких правил (т.е. для обеспечения разнообразия в популяции) используется специальный алгоритм: элементы обучающей выборки, соответствующие правилу (реально соответствующие: совпадает класс определенный для подмножества и реальный класс), найденному на текущей итерации удаляются из обучающей выборки. Итеративный процесс прекращается, когда в сформированной обучающей выборке остается элементов меньше определенного пользователем числа (обычно 5).
В таблице приведены данные показывающие точность классификации для метода деревьев решений С4.5 и гибридного метода С4.5 с использованием вышеописанного ГА [5].
Название обучающей выборки Точность метода С4.5, % Точность метода С4.5 + ГА, %
Connect 72.6 76.95
Adult 78.62 80.04
Hepatits 80.78 95.05
Covertype 71.61 68.71
Как показывает таблица на некоторых наборах гибридный метод уступает классическому, однако, как показали исследования, на подавляющем большинстве наборов (18 из 22), гибридный метод дал более точную классификацию чем классический С4.5.
Второй метод, использующийся для повышения эффективности применения деревьев решений, находит релевантный набор атрибутов объекта, на основе которого и строится дерево решений. То есть необходимо найти подмножество атрибутов объекта, которое было бы небольшим и имело значительную дискриминационную силу. Хромосома представляет собой двоичный вектор. Единица означает, что атрибут используется, ноль - отвергнут. Для подмножества атрибутов, соответствующего данной хромосоме запускается алгоритм построения дерева решения, точность классификации которого отражается в функции приспособленности особи. Наиболее приспособленной особи соответствует дерево решений, обеспечивающее наибольшую точность классификации.
Еще один способ совместного использования деревьев решений и ГА - это построение наклонных деревьев решений (Oblique Decision Trees).
Традиционно, дерево решений строят, находя на каждом шаге один атрибут объекта, обладающей наибольшей дискриминирующей силой. Этот процесс определяет на каждом шаге гиперплоскость в пространстве атрибутов, которая параллельна определенной оси этого пространства [8]. Разделение по одному атрибуту легко интерпретируется человеком, но может привести к неточностям, когда данные разных классов разделены гиперплоскостями не параллельными осям.
Наклонные деревья решений используют на каждом шаге комбинацию атрибутов, для определения правила классификации (в данном случае гиперплоскость может не быть параллельной оси). Эти деревья могут быть менее разветвленными и иметь более высокую точность классификации. Однако здесь встает проблема обнаружения этих наклонных гиперплоскостей. Именно для построения наклонных деревьев решений наряду с другими методами применяются ГА.
В этом случае ГА используются для выработки оптимального критерия разбиения. Использование ГА в этом случае продиктовано несколькими причинами:
• ГА одновременно работают с вектором параметров
• Нет необходимости в выборе глобально лучшего критерия расщепления в узле, так как это не гарантирует построение лучшего дерева
• ГА хорошо работают при увеличении размерности задачи
• Существует возможность учесть априорные знания при формировании начальной популяции, выборе генетических операторов и формы представления генов
• Возможность распараллеливать вычисления (заложена в самой архитектуре ГА)
Объекты представляются вектором (х1 • ха, cj). Условия расщепления имеют
вид:
а
^ а1х1 + аа+1 > 0. Для нахождения коэффициентов а используется ГА,
1=1
критерий качества - наилучшее расщепление. Гены представлены вещественными значениями. В качестве генетических операторов используются: турнирный отбор, однородный кроссовер с вероятность 1.0, мутация не используется. Некоторый процент особей в начальной популяции может быть сформирован с учетом расщеплений, выполненных с помощью традиционных деревьев решений, что может ускорить поиск.
ГА + нейронный сети
Одна из проблем при использовании нейронных сетей (НС) заключается в разработке качественных алгоритмов обучения, позволяющих за минимальное время настроить НС на распознавание заданного набора входных образов.
Процесс обучения НС представляет собой настройку сети таким образом, чтобы отклонение выходного вектора от требуемого значения была не больше установленной.
Распространенным метод обучения НС является алгоритм с обратным распространением ошибки. Его недостатками являются [1]:
• Возможность преждевременной остановки из-за попадания в область локального минимума
• Необходимость многократного (сотни и тысячи раз) предъявления всей обучающей выборки для получения заданного качества распознавания.
Альтернативой методу с обратным распространением ошибки является использование ГА для получения оптимального набора весов связей. Каждая хромосома представляет собой вектор из весовых коэффициентов: они считываются из нейронной сети и представлены вещественными числами. Значение функции приспособленности особей обратно пропорционально числу ошибок классификации (или величине отклонения выходного вектора от требуемого значения).
Указанный алгоритм обучения может быть применен как часть более сложного метода построения нейронной сети (прямого распространения), который состоит в следующем [2].
На первом этапе с помощью ГА осуществляется поиск общих параметров НС: количества скрытых слоев и нейронов в каждом слое. На втором этапе ГА используется для поиска значений связей между нейронами. Целевая функция задается для множества примеров и представляет собой максимальное относительное отклонение от эталонного значения, выраженное в процентах. Цель применения ГА - минимизация этой функции. к (у'.. - у.. )
С = шах—--— * 100%, где к - количество примеров; у- значение ьго выхода
1=1 у.. 1
■Ту
НС для ] - го примера.
Рассмотрим первый этап. Число генов в хромосоме постоянно и равно максимальному числу слоев нейросети. Ген g1 соответствует входному слою, а ген gn - выходному слою. Гены g2, ... , gn-1 соответствует скрытым слоям. Структура связей между двумя соседними слоями соответствует полному двудольному графу. Значением гена g; является число нейронов в i - м слое. Если g; = 0, то этот слой исключается из рассмотрения.
В качестве генетических операторов используются кроссовер и мутация. Кроссовер: для двух хромосом для каждого локуса, начиная со второго, с некоторой вероятностью гены меняются местами. Мутация: последовательно просматриваются локусы (начиная со второго) и с некоторой вероятностью каждый ген приобретает новое значение в диапазоне 0 < = g; < = m, где m - максимальное допустимое число нейронов в слое (зависит от максимального количества нейронов в сети, задаваемого пользователем).
Главная проблема применения НС в задачах интеллектуального анализа данных заключается в том, что тренированная сеть представляет собой «черный ящик». Параметры НС, получаемые в процессе ее обучения не могут непосредственно описать выявленные закономерности в данных. ГА может быть использован для построения if-then правил на основе тренированной НС.
Алгоритм позволяющий интерпретировать параметры НС состоит в следующем [11].
1. Построить НС и обучить ее методом с обратным распространением ошибки.
2. Применить генетический алгоритм кластеризации для нахождения кластеров значений функций активации скрытых нейронов для каждого класса.
3. Построить правила для скрытых нейронов. Правила имеют следующую форму:
if (vmm <= a1 <= vLand• andvmrnm <= a„ <= CJ then class с^ где a -значение
функции активации скрытого узла, вычисленные на основе значений входных узлов; значения v - максимальные и минимальные значения в полученных кластерах для каждого класса; n - число скрытых узлов сети. В данном рассмотрении число классов равно 2.
Данные правила не описывают в явном виде связь между атрибутами объекта и предсказанным значением класса. Однако, они позволяют перейти от «черного
ящика», представленного НС, к правилам, которые представляют собой более высокий уровень описания модели. Кроме того, эти правила могут использоваться как промежуточное представление для задач нахождения значащих атрибутов объектов, построение IF-THEN правил, включающих атрибуты объекта в явном виде и др. Нейронная сеть состоит из входного, выходного и одного скрытого слоев. Используются линейные функции активации. Количество кластеров обычно ограничивается, чтобы уменьшить сложность и повысить надежность получаемых правил.
Если количество объектов N, то хромосома - это N - мерный вектор, каждый элемент которого обозначает кластер, к которому относится этот объект. Функция приспособленности максимизирует однородность внутри каждого кластера, учитывает количество объектов в кластере. Она имеет вид: F = dex - din + factor, где dex - «среднее внешнее расстояние», оценивающее качество разделения объектов на разные кластеры, din - «среднее внутреннее расстояние», характеризующее степень близости объектов внутри кластеров, factor - функция, зависящая от количества объектов в каждом кластере.
Выполнение алгоритма состоит в следующем.
Вычисляем значения функции активации a¡ i-го скрытого нейрона для каждого объекта в обучающей выборке. Таким образом, получаем набор атрибутов для IF-части правил: i-й атрибут - значение функции активации i-го нейрона скрытого слоя. Дополнительный атрибут - метка класса объекта в обучающей выборе.
Сформированные таким образом записи разделяются на разные подмножества в соответствии со значением класса, значения функции активации нормализуются.
Генетический алгоритм кластеризации отдельно применяется к этим двум наборам данных. Из дальнейшего рассмотрения исключаются кластеры с малым числом объектов. Минимально допустимое число объектов в кластере может устанавливать экспертом в предметной области.
Рассматриваются решения в виде множества кластеров (С^ .С^,Cj2,...C^}, где С■ - конкретный i-й кластер, сформированный для j-го класса.
Каждому такому решению соответствует определенная точность классификации. Выбираем решение с максимальной точностью классификации. Затем полученное решение транслируется в набор правил.
Для сравнения данный алгоритм построения правил применили к исходному набору атрибутов объектов (без применения НС). Аналогичным образом разделяем исходную выборку на два подмножества, формируем кластеры для каждого класса. Выбранные кластеры транслируем в набор правил. Вид правил аналогичен описанному выше. За исключением того, что вместо значений функции активации скрытых нейронов используются исходные значения атрибутов объектов.
В результате сравнения было установлено, что описанный метод извлечения правил из НС с использованием ГА позволяет получить более высокую точность классификации, при меньшем времени работы алгоритма. Однако в правила, которые он строит, не входят в явном виде значения атрибутов объектов, кроме того правила, построенные без использования НС, имеют более простую и интуитивно понятную форму.
Заключение
Кроме описанных, существуют и другие примеры использования ГА: кластеризация, системы, использующие нечеткую логику, нейронечеткие алгоритмы и др. Простота интеграции с другими методами, достаточно гибкие возможности по кодированию атрибутов, способность учесть специфику предметной области, - все это способствует тому, что ГА широко используются в интеллектуальном анализе данных.
Литература:
1. В.Дюк, А. Самойленко. Data Mining: учебный курс (+CD). - СПб: Питер, 2001. - 386с.
2. В.И. Божич, О.Б. Лебедев, Ю.Л. Шницер. Разработка генетического алгоритма обучения нейронных сетей.
3. А.А. Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод. Методы и модели анализа данных: OLAP и Data Mining. - СПб.: БХВ-Петербург, 2004. - 336с.: ил.
4. С. Арсеньев. Извлечение знаний из медицинских баз данных.
5. Deborah R. Carvalho, Alex A. Freitas. A Hybrid Decision Tree/Genetic Algorithm Method for Data Mining.
6. J. Bala, J. Huang and H. Vafaie K. DeJong and H. Wechsler. Hybrid Learning Using Genetic Algorithms and Decision Trees for Pattern Classification.
7. Behrouz Minaei-Bidgolil, William F. Punch III. Using Genetic Algorithms for Data Mining Optimization in an Educational Web-based System.
8. Erick Cantfi-Paz and Chandrika Kamath. Using Evolutionary Algorithms to Induce Oblique Decision Trees, Genetic and Evolutionary Computation Conference, Las Vegas, NV, 2000.
9. Michael L. Raymer, Travis E. Doom, Leslie A. Kuhn, and William F. Punch. Using a Hybrid Bayes Classifier/Evolutionary Algorithm.
10. Ajit Narayanan, Edward Keedwell and Dragan Savic. Data mining neural networks with genetic algorithms, University of Exeter.
11. Eduardo R. Hruschka and Nelson F. F. Ebecken. A clustering genetic algorithm for extracting rules from supervised neural network models in data mining tasks, COPPE/Federal University of Rio de Janeiro.