- •8.Стратегии неинформированного поиска с ограничением глубины и итеративным углублением. Двунаправленный поиск.
- •Поиск с ограничением глубины
- •Поиск в глубину с итеративным углублением
- •Двунаправленный поиск
- •18. Представление знаний. Категории и объекты.
- •28. Деревья принятия решений.
- •Выразительность деревьев решений
- •Индуктивный вывод деревьев решений на основе примеров
Индуктивный вывод деревьев решений на основе примеров
Пример для булева дерева решений состоит из вектора входных атрибутов X и одного булева выходного значения у. Множество примеров (X1,У1) (Х2,У2) показано в таблице Положительными примерами являются те, в которых цель WillWait имеет истинное значение (Х1, Х3 а отрицательными — те, в которых эта цель имеет ложное значение {Х2, Х5/...). Полное множество примеров называется обучающим множеством.
Таким образом можно просто сформировать дерево решений, в котором имеется по одному пути к листовому узлу для каждого примера, где в пути проверяется каждый атрибут по очереди и происходит переход к значению для данного примера, а листовой узел содержит классификацию для данного примера.
Недостатком такого простейшего дерева решений является то, что в нем просто запоминаются результаты наблюдений. Оно не позволяет извлечь какие-либо закономерности из примеров. Применяя принцип бритвы Оккама, необходимо вместо этого найти наименьшее дерево решений, совместимое с рассматриваемым примером.
Основная идея, лежащая в основе алгоритма Decision-Tree-Learning, состоит в том, что в первую очередь следует проверять наиболее важный атрибут. Если атрибуты не предоставляют достаточной информации для полного описания ситуации, либо если данная проблемная область действительно является недетерминированной можно воспользоваться мажоритарным голосванием.
Алгоритм обучения дерева решений
function Decision-Tree-Learning(examples,attribs,default) returns дерево решений
inputs: examples, множество примеров attribs, множество атрибутов
default, заданное по умолчанию значение для целевого предиката
if множеств examples пусто then return default
else if все примеры имеют одну и ту же классификацию then return классификация
else if множество attribs пусто then return Majority-Value(examples) else
best <— Choose-Attribute (attribs, examples)
tree <— новое дерево решений с результатом best проверки корневого узла
т <— Majority-Value(examples)
for each значение vx результата best do
examplesi <— {элементы множества examples со значениями best=v±}
subtree <— Decision-Tree-Learning {examplesi, attribs-best,m) добавить к дереву решений tree ветвь с меткой v± и поддеревом subtree
return tree
В обучающем алгоритме рассматриваются примеры, а не правильная функция, и на самом деле сформированная в нем гипотеза не только согласуется со всеми примерами, но и значительно проще по сравнению с первоначальным деревом.Окончательное дерево решений,полученное с помощью этого алгоритма:
Если бы было собрано больше примеров, то вполне возможно, что сформированное дерево в большей степени напоминало бы исходное.
Выбор проверок атрибутов
Подход к выбору атрибутов, используемый в обучении дерева решений, предназначен для минимизации глубины окончательно сформированного дерева. Идея этого подхода состоит в том, что следует выбирать в первую очередь такой атрибут, который позволяет сразу же выполнить максимально возможный объем работы по обеспечению правильной классификации примеров. Идеальный атрибут позволяет разделить множество примеров на подмножества.
