Генетический алгоритм упорядочения правил
классификации
Козеев О.Е., д.т.н. Солодовников И.В. кафедра ИТАС, МИЭМ
Постановка задачи
Предположим, что мы решаем задачу классификации в рамках
интеллектуального анализа данных. Пусть в результате поиска классификационных правил для к классов, были получены к наборов правил. Каждый набор содержит правила только одного класса.
Такой способ представления знания имеет два недостатка:
1. Правила не объединены в единый набор, что затрудняет их интерпретацию пользователем и применение на практике.
2. Области пространства признаков, порождаемые правилами разных классов, могут пересекаться. Поэтому может возникнуть неоднозначность в выборе класса, если объект удовлетворяет условным частям правил, относящихся к разным классам. Кроме того, выбор механизма арбитража, с помощью которого предпочтение отдается тому или иному правилу в каждой такой ситуации, является нетривиальным и зависит от особенностей набора данных.
Для устранения этих недостатков предлагается составить из правил разных классов единый упорядоченный список, который описывает последовательность применения правил для классификации новых объектов. Таким образом, необходимо найти порядок следования имеющихся правил разных классов, максимизирующий точность классификации. Кроме этого после определения последовательности правил, для классификации объекта будет применяться первое правило в списке, которому удовлетворяет объект, что позволит избежать неоднозначности в выборе класса.
Решение данной задачи предлагается искать с помощью генетического алгоритма (ГА).
Пусть G(riJ) - область пространства признаков, которая задается правилом riJ -
к
i -м правилом класса J. R = U R* - набор правил разных классов, организованный в
J=1
*
виде упорядоченного списка правил, - количество элементов в Я. Я у - набор
правил у -го класса, для которых справедливо О (г/ ) п О (г/ ) Ф 0, у Ф ?.
Таким образом, для формирования искомого списка правил достаточно определить порядок следования только «конфликтующих» правил разных классов, т.е. правил, входящих в Я. При этом, под неупорядоченным списком будем понимать
112 2 к к 1 следующую последовательность правил: г1 ,..., г^, г1 ,...гы^,..., г1 ,..., гы, где г/ - I -е
правило класса у , а N у - количество правил у -го класса.
ГА упорядочения
Каждая особь ск1 описывается одной хромосомой фиксированной длины .
Каждый ген - целое число 0 ^ — 1, причем значения гена не могут повторяться. Таким образом, каждая хромосома задает перестановку правил из Я.
x0 Xi x2 XNr —1
0 1 2 ... Nr-1
При таком кодировании xq - индекс конкретного правила из R, а q - индекс,
задающий позицию этого правила в искомом упорядоченном списке правил разных классов. Данный тип кодирования выбран как наиболее естественный для решаемой задачи.
В ГА используется одна популяция Pop фиксированного размера.
Инициализация популяции
Инициализация состоит в присвоении каждому гену случайного целого значения, равновероятно выбранного из [0, NR — 1] без возвращения. Таким образом,
всего существует (NR )! возможных различных хромосом.
Функция пригодности
Критерием качества полученного списка правил является точность классификации объектов. Для этого последовательно проходят по списку правил и применяют первое правило, условной части которого соответствует объект. Таким образом, функция пригодности задается следующим образом: n
f (chi) = со^с1 , где ncorrect - количество правильно классифицированных объектов, а
N - количество классифицированных объектов. Селекция
Перед селекцией значения функции пригодности подвергаются линейному
ранжированию. Это делается по двум причинам. Во-первых, для предотвращения
82
преждевременной сходимости популяции из-за доминирования сверхприспособленных особей. Во-вторых, для улучшения сходимости на последних итерациях алгоритма [1]. Особи в популяции сортируются по убыванию функции пригодности 1 ^ N. Затем каждой особи назначается ранг к = 1 ^ N равный ее порядковому номеру. Для каждой особи рассчитывается новое значение функции пригодности на основе ее ранга:
Ч - 40
f ' = q - (к -1)
*
N -1
где к - ранг (наиболее пригодная особь имеет ранг равный 1), N - количество
особей в популяции, q = max( f[), а q0 = min( fir). Параметры q и q0
i i
устанавливаются пользователем и определяют максимальное и минимальное значение функции пригодности после ранжирования, что в конечном итоге определяет давление отбора.
В качестве оператора селекции используется модификация случайного остаточного отбора без возвращения (stochastic remainder selection without replacement): универсальная случайная выборка (stochastic universal sampling) [3].
Вся популяция представляется в виде круговой диаграммы, где каждой особи соответствует сектор, размер которого пропорционален ее фитнесс-функции, определяемой как отношение функции пригодности особи к среднему значению функции пригодности в популяции:
F = L f
Для отбора особей используется рулетка с N равномерно распределенными указателями. Таким образом, один запуск рулетки позволяет выбрать N особей в промежуточную популяцию. Скрещивание
Для скрещивания используется partially matched crossover (PMXJ, предложенный Goldberg, Lingle [2]. Данный тип оператора скрещивания выполняет одновременно две функции: производит обмен между родителями частями хромосом, а также изменяет порядок следования генов в хромосомах потомков, по сравнению с родителями. PMX был специально разработан для скрещивания хромосом, являющихся перестановками без повторений. Ниже приведен пример работы PMX:
Пусть даны две родительские хромосомы:
А: В:
Для получения первого потомка мы выполняем отображение А ^ В так, чтобы
часть хромосомы А между точками разрыва после отображения была равна
соответствующей части хромосомы В. Аналогично получаем второго потомка. В
результате получаем таких потомков:
А': В':
Мутация
Мутация для конкретного гена состоит в перестановке местами его и другого равновероятно выбранного гена. Пусть дана хромосома:
9 8 4 2 3 10 1 6 5 7
Пусть ген, имеющий значение «4» мутирует, и случайно выбран ген, имеющий
значение «1». После мутации (перестановки генов) хромосома будет выглядеть так:
9 8 1 2 3 10 4 6 5 7
Модель репродукции
Выполнение генетического алгоритма происходит согласно следующей модели
репродукции (reproductive plan):
1. Инициализация популяции из N особей;
2. Выбрать N особей в промежуточную популяцию;
3. Применить операторы скрещивания и мутации к особям из промежуточной популяции;
4. Заменить потомками родительские особи, сохранив элитные родительские особи (неконкурентный элитизм);
5. Повторять шаги 2 - 4 пока популяция не стабилизируется или пока не будет выполнено заданное число поколений;
Будем считать популяцию стабилизировавшейся, если в течение нескольких поколений значение функции пригодности лучшей особи не изменяется.
Результаты эксперимента
Данный алгоритм был использован для упорядочения правил, полученных с помощью ГА поиска многопараметрических правил, разработанного автором. Ниже в таблице приводятся результаты работы алгоритма упорядочения. Для каждого набора данных, взятых из [4], тестирование (поиск правил с последующим упорядочением)
9 8 4 5 6 7 1 3 2 10
8 7 1 2 3 10 9 5 4 6
9 8 4 2 3 10 1 6 5 7
8 10 1 5 6 7 9 2 4 3
проводилось методом перекрестной проверки с количеством тестов равным 10. Каждое правило удовлетворяет условию: точность не менее 0.95, полнота не менее 0.01.
Набор данных Кол-во Ср. кол-во Acctran ' Acctran, Acctest, Acctest,
классов правил % % % %
Credit Screening 2 53.7 96.27 97.23 86.93 84.8
Moushroom 2 3.7 99.47 99.47 99.52 99.52
Glass 6 40.6 99.16 99.68 77.67 75.95
breast - cancer - 2 6 97.88 98.54 95.55 96.13
Wisconsin
Hepatitis 2 18.5 98.88 99.93 85.03 84.17
Iris 3 4.9 98.36 98.58 94 93.33
Pima Indians 2 107.4 98.89 98.86 74.63 73.56
Diabetes
Tic-Tac-Toe 2 29.4 99.50 99.88 99.08 99.32
Voting-records 2 5.9 97.23 97.85 95.92 96.39
Lenses 3 6.4 100 100 70 80
ionosphere 2 15.9 98.46 99.41 93.76 93.73
liver-disorders 2 67.8 99.66 99.83 62.59 65.94
autos 6 46.1 100 100 80.25 81.83
Horse-colic 2 25.5 98.59 98.93 82.52 86.29
wine 3 6.5 99.49 99.81 95.61 96.12
lymphography 4 15.6 99.46 99.85 84.83 85.11
Zoo 7 8.8 100 100 96.89 96.89
ЛссШп и ЛссШп - точность классификации на обучающей выборке до и после
упорядочения соответственно.
*
ЛссШ1 и ЛссШ1 - точность классификации на тестовой выборке до и после
упорядочения соответственно.
Заключение
В данной статье описан ГА упорядочения правил классификации. Как видно из приведенных результатов эксперимента применение упорядочения позволяет не только определить порядок применения ранее найденных классификационных правил, но и, в большинстве случаев, повысить точность классификации по сравнению с неупорядоченным списком.
Литература
1. Beasley D., Bull D., Martin R. An Overview of genetic algorithms. - University of Cardiff, UK, 1993.
2. Goldberg David E. Genetic algorithms in search, optimization, and machine learning. - Addison Wesley Longman, 1989.
3. Whitley D. A genetic algorithm tutorial //Statistics and Computing. - 1994. -№4. - с. 65-85.
4. Hettich, S., Bay, S. D. The UCI KDD Archive [http://kdd.ics.uci.edu]. Irvine, CA: University of California, Department of Information and Computer Science, 1999.