Научная статья на тему 'Эволюционный алгоритм построения дерева решений'

Эволюционный алгоритм построения дерева решений Текст научной статьи по специальности «Математика»

CC BY
961
100
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Эволюционный алгоритм построения дерева решений»

УДК 004.855.5

ЭВОЛЮЦИОННЫЙ АЛГОРИТМ ПОСТРОЕНИЯ ДЕРЕВА РЕШЕНИЙ.

(Работа выполнена при поддержке Федерального агентства по науке и инновациям в рамках ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг.)

А.В. Ржеуцкий; А.А. Суконщиков, к.т.н.

(Вологодский государственный технический университет, avt@pstu.edu.ru)

Предлагается новый подход к решению задачи классификации данных на основе деревьев решений, использующий генетический метод комбинирования эвристик. Данный подход позволил повысить точность классификации, сохранив все преимущества метода деревьев решений.

Ключевые слова: прогнозирование, классификация данных, деревья решений, генетические алгоритмы, метод комбинирования эвристик.

Для поддержки принятия решений в различных информационных системах, например, бизнес-приложениях, системах документооборота, системах электронного обучения с высокой степенью адаптивности и т.д., используется прогнозирование. Его частными случаями являются задачи классификации данных и восстановления регрессии. Основное отличие между ними в том, что в первом случае результат прогноза принадлежит множеству непересекающихся классов, а во втором представляет собой вещественное число. Так или иначе, в обоих случаях для успешного прогнозирования должно быть выполнено обучение системы с использованием тестовой выборки данных.

В данной статье предлагается эффективный алгоритм классификации данных с использованием деревьев решений и генетических алгоритмов.

Деревья решений - это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение. На ребрах дерева записываются атрибуты, от которых зависит целевая функция, в листьях - значения целевой функции, а в остальных узлах - атрибуты, по которым различаются случаи.

Основная идея построения деревьев решений из некоторого обучающего множества Х, сформулированная в интерпретации Р. Куинлена [1], состоит в следующем.

Пусть в некотором узле дерева сконцентрировано множество примеров Х*, Х* ^ Х. В этом случае возможны три ситуации.

1. Множество Х* содержит один или более примеров, относящихся к одному классу ук. Тогда дерево решений для Х* - лист, определяющий класс ук.

2. Множество Х* не содержит ни одного примера, то есть является пустым множеством. Тогда это снова лист, и класс, ассоциированный с листом, выбирается из другого множества, отличного от Х* (скажем, из множества, ассоциированного с родителем).

3. Множество Х* содержит примеры, относящиеся к разным классам. В таком случае множе-

ство Х* следует разбить на некоторые подмножества. Для этого выбирается один из признаков j, имеющий два и более отличных друг от друга значений, и Х* разбивается на новые подмножества, каждое из которых содержит все примеры, имеющие определенный диапазон значений выбранного признака. Процедура рекурсивно продолжится до тех пор, пока любое подмножество Х* не будет состоять из примеров, относящихся к одному и тому же классу.

В общем виде эвристический алгоритм построения дерева решений будет следующим.

1. Выбор критерия разделения с целью поиска наиболее подходящего атрибута для проверки в каждом узле дерева.

2. Разделение выборки на две или более частей в соответствии со значениями атрибута, выбранного на основании критерия разделения.

3. Рекурсия начиная с шага 2. Образовавшиеся подмножества разделяются на более мелкие подмножества в соответствии с выбранным критерием до тех пор, пока в каждом из них не останутся объекты одного класса либо атрибуты, позволяющие эти объекты различить.

Данные шаги являются общими для большинства существующих алгоритмов построения дерева решений. Эти алгоритмы отличаются друг от друга выбором критерия разделения, а также механизмом отсечения узлов дерева и другими параметрами.

В некоторых методах для выбора атрибута расщепления используется так называемая мера информативности подпространств атрибутов, которая основывается на энтропийном подходе и известна под названием «мера информационного выигрыша» (information gain measure), или «мера энтропии». Подобный подход применен в таких алгоритмах, как ID3 и C4.5. В соответствии с этим критерием лучшим для разделения считается признак, дающий максимальную информацию о классах. Эта величина определяется по формуле количества информации:

Gain(Y | X) = H(Y) - H(Y | X), (1)

где H(Y) - энтропия множества Y; H(Y|X) - средняя условная энтропия множества Y при извест-

ном множестве X. Величины H(Y) и H(Y|X) определяются по формулам:

H(Y) = -Z p(yi) • log2p(yi), (2)

H(Y | X) = -Zp(Xi) • H(Y|Xi) , (3)

где p(xj) и p(yj) - вероятности выбора того или иного значения из множеств X и Y соответственно; H(Y|Xj) - условная энтропия, если известно, что из X выбрано значение Xj. Условная энтропия определяется по формуле

H(Y | Xi) = -Zp(yj)• log2 p(yj | Xi) . (4)

i

При разделении выборки всегда выбирается атрибут, дающий максимальный выигрыш информации для целевого атрибута, то есть для которого значение Gain(Y|X) является максимальным среди всех X. Здесь X - множество значений атрибута классифицируемых объектов, Y - множество значений целевого атрибута.

Приведенные формулы позволяют вычислять количество информации для атрибутов, представляющих дискретные (а точнее, номинальные) значения. На практике часто встречаются целочисленные и даже вещественные атрибуты. Наиболее приемлемым было бы трактовать любой атрибут как номинальный и подсчитывать относительные частоты (как оценки вероятностей) для каждого встреченного значения, однако подобный подход приведет к неконтролируемому разрастанию дерева и потере его обобщающей способности. Одним из решений данной проблемы является использование так называемой пороговой энтропии, которая определяется по формуле

H(Y|X:t) = p(X < t) • H(Y | X < t) +

+p(X £ t) • H(Y | X £ t). ( )

Тогда формула количества информации примет вид

Gain * (Y | X) = max, (H(Y) - H(Y | X: t)) . (6)

Таким образом, можно использовать слегка видоизмененный критерий количества информации применительно к любым атрибутам, для которых имеет смысл операция сравнения, в частности, для вещественных и целочисленных.

С критерием количества информации связана одна существенная проблема: алгоритм зачастую выбирает атрибуты, имеющие наибольшее количество различных значений. Например, если один из атрибутов в выборке данных обозначает дату какого-либо свершившегося события, то вполне вероятно, что именно этот атрибут будет выбран для разделения. В таком случае полученное дерево решений окажется совершенно бесполезным, поскольку уже прошедшие даты никогда не повторятся.

Другой критерий расщепления, предложенный Л. Брейманом и др. [2], реализован в алгоритме CART и называется индексом Gini. При помощи

этого индекса атрибут выбирается на основании

расстояний между распределениями классов: n ,

Gini(T) = 1 -Zp2, (7)

i =1

где pi - вероятность (относительная частота) класса i в выборке T.

Помимо перечисленных критериев, иногда эффективен выбор атрибута по количеству различных значений в выборке. Разделение по атрибуту, содержащему максимальное количество значений в выборке, зачастую оказывается эффективным для числовых атрибутов. В этом случае в качестве значения разделения можно использовать математическое ожидание множества X. Разделение по атрибуту, содержащему минимальное количество значений в выборке, тоже бывает эффективнее предложенных критериев, особенно если речь идет о дискретных (номинальных) атрибутах. Значение разделения в таком случае тоже можно выбрать исходя из распределения значений в выборке.

Несмотря на широкое применение, эвристические методы построения деревьев решений принципиально не способны находить наиболее полные и точные правила классификации данных, поскольку они основаны на использовании жадных алгоритмов. Если один раз был выбран атрибут и по нему произведено разбиение на подмножества, алгоритм не может вернуться и выбрать другой атрибут, который дал бы лучшее разбиение. Поэтому на этапе построения нельзя сказать, даст ли выбранный атрибут оптимальное разбиение в конечном итоге.

Другой существенный недостаток эвристических алгоритмов в том, что при разделении выборки используется один и тот же критерий, а это зачастую приводит к неверному выбору атрибута и значения разделения.

Существенное повышение точности классификации возможно, если процесс построения дерева решений трансформировать в задачу поиска и использования оптимальной последовательности локальных целевых функций (другими словами, оптимальной последовательности эвристик), применяемых в подзадачах разделения выборки данных. При этом подразумевается, что трансформированная задача будет решаться эволюционными методами. В частности, в данной работе рассматривается применение генетического алгоритма.

Подобный подход уже был успешно применен к задачам синтеза расписаний и назван методом комбинирования эвристик (НСМ - Heuristics Combination Method) [3]. Данная статья иллюстрирует возможности и особенности применения НСМ для оптимального подбора эвристик при построении дерева решений.

В генетических методах любое решение задачи синтеза представляется хромосомой, состоя-

щей из генов. Аллелями являются значения проектных параметров [4].

Главная особенность НСМ в том, что аллелями служат не значения проектных параметров, а имена эвристик, используемых для определения этих значений. Выполнение условий допустимости переносится в сами эвристики, что делает генетический алгоритм инвариантным к различным задачам. Другими словами, в НСМ Ьй ген соответствует Ьй подзадаче, а Ья аллель есть номер (имя) процедуры (эвристики), реализующей локальную целевую функцию и ограничения Ьй подзадачи. В НСМ для каждой подзадачи должно быть сформулировано несколько альтернативных постановок (процедур) - именно из них генетический алгоритм и будет выбирать членов последовательности, приближаясь к оптимальной последовательности эвристик.

В соответствии с предлагаемым алгоритмом в каждой подзадаче исходной задачи, связанной с разделением выборки, выбирается критерий разделения по одной из следующих эвристик:

S1: выбирается атрибут, обладающий наибольшим значением индекса Gain(Y|X);

S2: выбирается атрибут с наибольшим значением индекса Gini(Y);

S3: выбирается атрибут, содержащий наибольшее количество значений в выборке данных;

S4: выбирается атрибут с наименьшим количеством значений в выборке данных;

S5: разделение выборки не производится (узел превращается в лист).

Хромосома в таком случае имеет древовидную структуру. Количество генов в ней совпадает с количеством узлов дерева, их значениями могут быть номера эвристик в диапазоне [1, 5].

Необычная структура хромосомы влияет на реализацию генетического алгоритма. Этап эволюции в данном случае заключается в выборе наиболее подходящей эвристики для соответствующего узла дерева. При этом используются особи с различными эвристиками в дочерних узлах. Далее выборка расщепляется в зависимости от выбранной эвристики и выполняется новый этап эволюции для подчиненных узлов (рис. 1). Новая популяция формируется из дочерних узлов дерева, что сокращает размер как хромосомы, так и выборки данных.

Чтобы обеспечить достаточное разнообразие особей, при формировании начальной популяции строятся деревья решений для каждой из эвристик в диапазоне ^1^4]. При этом используются различные эвристики в дочерних узлах. Таким образом, размер начальной популяции составляет 16 особей (4 вида эвристики для корня дерева комбинируются с 4 видами эвристики для его дочерних узлов).

Оператор кроссовера для древовидных хромосом выполняется для определенного подмножест-

Рис. 1. Генетический алгоритм построения дерева решений

ва данных, соответствующего заданному узлу дерева, и состоит из следующих этапов.

1. Выбираются две хромосомы с одинаковыми генами, соответствующими корневому узлу дерева рассматриваемого подмножества данных.

2. В каждой из родительских хромосом меняются местами значения генов, соответствующих первому и второму подчиненным узлам дерева.

Рисунок 2 иллюстрирует пример скрещивания двух хромосом для узла с эвристикой S2. Потомки образуются путем замены дочерних узлов левого и правого родителей.

Одно из главных ограничений рассмотренного оператора кроссовера - необходимость совпадения эвристик для рассматриваемого узла дерева. Не менее важное условие - количество дочерних узлов. Согласно алгоритму, местами меняются

только два первых дочерних узла в родительских хромосомах. Остальные остаются неизменными.

Мутация хромосом представляет собой случайное изменение эвристики для рассматриваемого узла дерева. Поскольку основное назначение мутации - обеспечение разнообразия популяции, изменению может подвергаться любая из хромосом при условии, что в популяции есть аналогичная ей. Оптимальное количество особей для выполнения мутации k рассчитывается исходя из разнообразия популяции и количества особей в ней:

k = max ^ 1,П), (8)

где l - количество пар одинаковых хромосом; n -размер популяции.

Как видно из формулы (8), количество особей для мутации не должно превышать 25 % от общего размера популяции. В противном случае это может нарушить сходимость генетического алгоритма и привести к потере локального экстремума целевой функции f.

Алгоритм мутации состоит из следующих этапов.

1. Поиск в популяции пары хромосом с одинаковым значением эвристик во всех дочерних узлах.

2. Выбор из пары одной хромосомы (случайным образом) для проведения мутации.

3. Замена эвристики в корневом узле выбранной хромосомы (новый вид эвристики также выбирается случайным образом).

4. Если количество особей для мутации меньше k и в популяции остались одинаковые хромосомы - возврат к шагу 1.

В процессе отбора особей используется стратегия элитизма. При этом размер популяции остается неизменным, то есть из промежуточной популяции отбираются 16 особей, обладающих наибольшей точностью классификации.

Работа алгоритма останавливается после выполнения всех этапов эволюции (для каждого узла дерева, за исключением листьев). Дополнительно может быть введено ограничение на максимальное количество формируемых поколений (глубину дерева для поиска эвристик).

Для проверки алгоритма использовалась обучающая выборка из 3212 строк, содержащая информацию об исполнительской дисциплине сотрудников, собранную на основе данных документооборота организации. Элементы множества объектов X включают в себя следующие атрибуты.

1. Вид контроля - может принимать одно из двух значений: «Контроль за отделом» или «Контроль за исполнителем».

2. Исполнитель - содержит название отдела или Ф.И.О. исполнителя, которому назначена резолюция по документу.

3. Месяц, в который исполнителю был передан документ (число в интервале [1, 12]).

4. День недели, в который исполнителю был передан документ (число в интервале [1, 7]).

Множество ответов Y (целевой атрибут выборки) - это информация о нарушении срока исполнения резолюции (в днях). Для повышения точности классификации (снижения частоты ошибок) значения множества Y представлены не числом, а интервалом чисел, что позволяет отнести к одному и тому же классу разные значения целевого атрибута.

Результат выполнения алгоритма представлен в таблице. Для удобства восприятия частота ошибок выражена в процентах. Как видно, предложенный генетический алгоритм демонстрирует более высокую точность классификации данных в отличие от любого из эвристических алгоритмов.

Результаты классификации для выборки из 3212 строк

Алгоритм классификации Частота ошибок, %

Критерий Gain 24,12

Критерий Gini 25,01

Разделение по максимальному количеству значений 26,53

Разделение по минимальному количеству значений 25,36

Алгоритм, встроенный в программу 1С:Предприятие 24,84

Генетический алгоритм 19,46

На рисунке 3 изображен график зависимости времени построения дерева решений от размера выборки. Благодаря сокращению размера выборки

при переходе на новый этап эволюции, а также оптимизации вычисления критериев разделения данных, общее время выполнения алгоритма в среднем линейно зависит от размера обучающей выборки.

Из таблицы и графика следует, что предложенный эволюционный алгоритм построения дерева решений показал лучшие по сравнению с другими моделями результаты при краткосрочном прогнозе. Применение эволюционных методов позволяет устранить недостаток эвристических алгоритмов, связанный с неправильным выбором критерия разделения при построении дерева решения, что, в свою очередь, повышает точность классификации данных и качество прогнозирования в целом.

Литература

1. Ross J. Quinlan. C4.5: Programs for Machine learning. Morgan Kaufmann Publishers, 1993.

2. Breiman L., Friedman J.H., Olshen R.A. and Stone C.T. Classification and Regression Trees. Wadsworth, Belmont, California, 1984.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3. Норенков И.П. Генетические методы структурного синтеза проектных решений // Информационные технологии. 1998. № 1. С. 9-13.

4. Goldberg D. Genetic Algorithms in Search, Optimization, and Machine Learning // Adison-Wesley Publ., 1989.

УДК 681.3

НЕЙРОНЕЧЕТКАЯ СИСТЕМА ОБНАРУЖЕНИЯ ПРОДУКЦИОННЫХ ЗАВИСИМОСТЕЙ В БАЗАХ ДАННЫХ

А.С. Катасёв, к.т.н..; Ч.Ф. Ахатова

(Казанский государственный технический университет им. А.Н. Туполева, Kat_726@mail.ru, akhcctova_chulpan@m-ail.ru)

Описывается нейронечеткая модель интеллектуального анализа данных и получения правил принятия решений. Предлагается алгоритм ее обучения. Приводятся результаты сравнения эффективности данного алгоритма с другими решениями. На примере задачи медицинской диагностики показывается эффективность использования предлагаемых подходов для формирования баз знаний экспертных систем в различных сферах человеческой деятельности.

Ключевые слова: модель представления знаний, нечеткая нейронная сеть, база знаний, экспертная система, принятие решений.

Во многих предметных областях используются системы, основанные на знаниях, - экспертные системы. Они нашли широкое применение для решения большого количества неформализованных или плохо формализованных задач, таких как обучение, диагностика, управление, прогнозирование и других.

Для данного класса интеллектуальных информационных систем характерно то, что они способны моделировать процесс рассуждения эксперта при принятии им решения и объяснять, почему был получен тот или иной результат. Это достигается путем обработки входных данных и реализации процедуры логического вывода на формализованных знаниях о предметной области.

Основными проблемами при разработке экспертных систем являются получение и форма-

лизация знаний. Первая проблема связана с большими трудностями, возникающими при взаимодействии инженера по знаниям с источником знаний - экспертом. При решении сложных задач эксперт зачастую интуитивно быстро находит правильное решение, попытки инженера по знаниям проанализировать и понять ход рассуждений эксперта могут оказаться безуспешными.

Вторая проблема связана с необходимостью представления знаний эксперта в формальную модель с учетом ограничений, присутствующих в любой из них. При этом часть полезных знаний может быть утрачена, а сформированная таким образом база знаний экспертной системы будет неполной, недостоверной, противоречивой, что может привести к невозможности ее практического использования.

i Надоели баннеры? Вы всегда можете отключить рекламу.