Логический вывод деревьев решения
Основной алгоритм логического вывода дерева
Логический вывод деревьев решения, по-видимому, является наиболее широко применяемым подходом к машинному обучению, В таком случае гипотезы представлены в виде деревьев решения. Процесс логического вывода деревьев является эффективным и удобным для программирования.
На рис. 18.10 показано дерево решения, которое может быть получено путем логического вывода из примеров, приведенных в листинге 18.1 (т.е. объектов, показанных на рис, 18.8). Внутренние узлы этого дерева обозначены именами атрибутов. Листья дерева обозначены именами классов или символом "null", который указывает, что этому листу не соответствует ни один учебный пример. Ветви в дереве обозначены значениями атрибутов. При классификации объекта по дереву прокладывается путь, начинающийся с корневого узла и оканчивающийся в одном из листьев.
426 Часть II. Применение языка Prolog в области искусственного интеллекта
После прохождения каждого внутреннего узла процедура следует со ветви,обозначенной значением атрибута в объекте.Например, объект, описанный следующим образом: [ size - small, shape = compact, holes - 1]
согласно этому дереву должен классифицироваться как nut — гайка (после прохождения пути holes = 1, shape = compact). Обратите внимание на то, что в этом случае значение атрибута size = small для классификации объекта не требуется.
null |
smell / screw |
( "" ) С
1~Л 7
Large long compact other
\ / I \
Key nut null
pen
/
Key
Рис. IS. 10. Дерево решения, полученное с помощью логического вывода на основании примеров, приведенных в листинга 18.1 (и изображенных графически на рис. 18.8)
По сравнению с правилами вывода, используемыми для описания классов, которые рассматривались в предыдущем разделе, деревья обладают более ограниченными возможностями представления. Они имеют свои преимущества и недостатки. Представления некоторых понятий с помощью деревьев являются более громоздкими по сравнению с представлениями с помощью правил; хотя в соответствующее дерево решения может быть преобразовано любое описание на основе правил, результирующее дерево часто бывает гораздо сложнее по сравнению с описанием на основе правил. В этом состоит один из очевидных недостатков деревьев.
С другой стороны, тот факт, что деревья как средства представления знаний являются более ограниченными, способствует уменьшению комбинаторной сложности процесса обучения. Это может привести к существенному повышению эффективности обучения. Обучение с помощью деревьев решения является одним из наиболее эффективных форм обучения. Но необходимо отметить, что высокая вычислительная эффективность обучения является лишь одним из многих критериев успешного обучения, как описано ниже в этой главе.
Основной алгоритм логического вывода дерева решения показан на рис. 18.11.Этот алгоритм предназначен для формирования минимально возможного дерева, совместимого с учебными данными. Но поиск среди всех таких деревьев невозможен из-за комбинаторной сложности. Поэтому в процедурах логического вывода деревьев широко применяется эвристический подход, который не гарантирует получение оптимального решения. Алгоритм, показанный на рис. 18.11,является поглощающим, в том смысле, что он всегда выбирает наиболее информативный атрибут и не допускает перебор с возвратами, поэтому не гарантирует, что будет найдено наименьшее дерево. С другой стороны, этот алгоритм работает быстро, и было обнаружено, что он хорошо действует в практических приложениях.
Глава 18. Машинное обучение
Чтобы сформировать дерево решения Тдляобучающего множества S,
необходимо выполнить следующее;
•если все примеры в S относятся к одному и тому же классу. С, то результат представляет собой дерево, состоящее из единственного узла, который обозначен кэкС,
• в противном случае
- выбрать "самый информативный" атрибут, А, значениями которого являются»,»..^
- разделить множество S наподмножестваЗ.,..., S в соответствии со значениями А;
- сформировать {рекурсивно) поддеревья Т .., Т для S ...,S ; конечным результатом становится дерево, корнем которого является А, поддеревьями • Т Т , а связи между А и поддеревьями обозначены K3KV , , , v ; полученное таким образом дерево решения имеет следующий вид:
'1 '2 ■■ S
Рис. 18.11. Основной алгоритм логического вывода дерева решения
Даже в своей простейшей реализации ных уточнений, которые описаны ниже.
этот
основной алгоритм требует определен-
1. Если множество S является пустым, то результат представляет собой дерево с одним узлом, обозначенным как "null".
2. После выбора каждого нового атрибута рассматриваются только те атрибуты, которые еще не использовались в верхней части дерева.
3. Если множество S не пусто, и не все объекты в S принадлежат к одному и тому же классу, и не осталось атрибутов, доступных для выбора, то результатом становится дерево с одним узлом. Узел такого типа удобно обозначить с помощью списка всех классов, представленных в множестве S наряду с их относительными частотами в S. Такое дерево иногда называют деревом вероятностей классов (class probability tree), а не деревом решения. В подобном случае для проведения различия между значениями класса некоторых объектов недостаточно иметь множество доступных атрибутов (когда объекты, принадлежащие к разным классам, имеют одинаковые значения атрибутов).
4. Необходимо определить критерий выбора наиболее информативного атрибута. Эта тема рассматривается в следующем разделе.
18.5.2. Выбор "наилучшего" атрибута
Значительная часть исследований в области машинного обучения посвящена определению критериев выбора "наилучшего" атрибута. По сути, эти критерии служат для измерения в множестве примеров количества посторонних включений (impurity) по отношению к классу. Качественный атрибут должен обеспечивать разбиение примеров на подмножества как можно более безошибочно (охватывая как можно меньше посторонних включений).
В одном из подходов к выбору атрибута используются идеи из области теории информации. Соответствующий критерий может быть разработан следующим образом. Для классификации объекта требуется определенный объем информации. После изучения значения некоторого атрибута объекта для классификации этого объекта иногда достаточно получить еще лишь некоторое небольшое количество информации. Такое дополнительное количество информации будет именоваться остаточной информацией. Безусловно, остаточная информация должна быть меньше по сравнению
Часть II. Применение языка Prolog в области искусственного интеллекта
с первоначальной информацией. Наиболее информативным атрибутом является такой атрибут, который минимизирует остаточную информацию. Количество информации определяется с помощью широко известной формулы энтропии. Для области определения, представленной примерами из обучающего множества 3, среднее количество информации I, необходимой для классификации объекта, задается с помощью следующей формулы энтропии:
VI = - iiplc) log2 p(c)
где с обозначает классы, а р{с) - вероятность того, что некоторый объект из множества S принадлежит к классу с. Эта формула полностью соответствует интуитивному представлению о посторонних включениях. Если множество полностью очищено от посторонних, включений, то вероятность распознавания одного из его классов равна 1, а для всех других классов равна 0. Для такого множества информация 1 = 0. С другой стороны, информация I является максимальной в том случае, если вероятности всех классов равны.
После применения атрибута Л множество S разделяется на подмножества в соответствии со значениями А. Поэтому остаточная информация ': .... равна взвешенной сумме объемов информации для подмножеств:
IresW = - Аа p{v) L p(c I v) log, р(с I v)
где v — значения атрибута А, р (v) — вероятность значения v в множестве S, p(c I v) — условная вероятность класса с, при условии, что атрибут А имеет значение v. Вероятности р (v) и р (с | v) обычно аппроксимируются с помощью статистических данных о множестве S.
В приведенное выше определение критерия с помощью теории информации могут быть внесены дополнительные уточнения. Одним из его недостатков является то, что он способствует выбору атрибутов со многими значениями. Подобные атрибуты, как правило, разбивают множество S на целый ряд небольших подмножеств, А если эти подмножества очень малы и включают лишь немного примеров, они и так не содержат посторонних включений, независимо от исходной корреляции между атрибутом и классом. Поэтому приведенная выше прямолинейная оценка Ires придает такому атрибуту слишком высокое значение. Один из способов устранения этого недостатка состоит в использовании коэффициента приращения информации. Этот коэффициент позволяет учитывать количество информации I ■.-.. . необходимое для определения значения любого атрибута А, как показано ниже,
I (A) = -2^p[v) ioga <p(v> }
Обычно значение I (А) является более высоким для атрибутов с большим количеством значений. Коэффициент приращения информации определяется следующим образом:
Gain (A). I - Ires (A)
В процессе обучения должен выбираться такой атрибут, который имеет наибольший коэффициент приращения.
Еще один способ устранения недостатков, связанных с наличием многозначных атрибутов, состоит в использовании метода раздваивания, или дихотомизации атрибутов (binarization of attributes). Раздваивание атрибута осуществляется путем разбиения множества его значений на два подмножества. В результате этого разбиение приводит к созданию нового (двухзначного) атрибута, два значения которого соответствуют двум подмножествам. Если такое подмножество содержит больше одного
Глава 18. Машинное обучение
значения, его можно разбить еще на дна подмножества, что приведет к созданию еще одного двухзначного атрибута, и т.д. Критерием выбора качественного разбиения обычно является максимальное увеличение приращения информации, приобретаемой с помощью полученного таким образом двухзначного атрибута. После преобразования всех атрибутов в двухзначные проблема сравнения многозначных атрибутов с немногозначными исчезает. При этом даже приведенный выше простой критерий определения остаточной информации обеспечивает достоверное сравнение атрибутов (двухзначных).
Применяются также другие научно обоснованные критерии определения количества посторонних включений, такие как индекс Gird, определяемый следующим образом:
Чп
Gini = Zd p(i) p(j)
где i И ; обозначают классы. После применения атрибута А формула определения результирующего индекса Gini принимает следующий вид:
У У
Gini [A) = £j (!(v) ^p(i | v) p(j | V)
где v — значения атрибута A, p(i | v] — условная вероятность класса i, если дано, что атрибут А имеет значение v.
Следует отметить, что критерии определения количества посторонних включений, используемые в этом разделе, служат для оценки влияния одного атрибута. Поэтому критерий наибольшей информативности является локальным в том смысле, что он не позволяет надежно предсказывать совокупный эффект совместного использования нескольких атрибутов. Основной алгоритм логического вывода дерева основан на такой локальной минимизации количества посторонних включений. Как было описано выше, для глобальной оптимизации может потребоваться гораздо больше вычислительных ресурсов.
Упражнения
18.1.Рассмотрите задачу обучения на силуэтах объектов (см. листинг 18.1). Рассчитайте энтропию для всего множества примеров по отношению к классу, остаточную информацию для атрибутов "size" и "holes", соответствующие приращения информации и коэффициенты приращения. Оцените вероятности, необходимые для этих вычислений, с помощью относительных частот, например p(nut) = 3/12илир[пи1 | holes=l) = 3/5.
18.2.Заболевание D возникает в 25% из всех случаев заболеваний. Симптом S наблюдается у 75% пациентов, страдающих от заболевания С, и только в одном из шести прочих случаев. Предположим, что вы формируете дерево решения для диагностики заболевания Э, состоящее только из двух классов, D (некоторое лицо страдает от заболевания D) и -D (некоторое лицо не имеет заболевания Э). Симптом S является одним из соответствующих атрибутов. Каковыми являются приращение информации и коэффициент приращения для атрибута S?