Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИ.1часть_2.doc
Скачиваний:
9
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

7.4.5. Индукция решающих деревьев (id3)

Алгоритм ID3 (induction of decision tree) формирует решающие деревья на основе примеров. Каждый пример имеет одинаковый набор атрибутов (признаков), которые можно рассматривать как качественные признаки.

Предыдущие алгоритмы (древ и АМХ) строят только бинарное дерево решений, тогда как каждый узел в дереве, построенном алгоритмом ID3, может иметь более двух потомков. Это объясняется тем, что в этом алгоритме определяется важнейший признак, который может иметь несколько значений, тогда как важнейшее значение признака может иметь только значения – «Да» и «Нет».

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

Если имеется n равновероятных значений атрибута, то вероятность р каждого из них равна 1/n и информация, сообщаемая нам значением атрибута, Р равна –log(p) = log(n). В общем случае, если есть дискретное распределение Р={р1, р2, ..., pn}, то передаваемая информация, или энтропия Р, будет равна:

I(P)= -pi*log pi ,

где i=1...n.

Чем более равномерным является распределение, тем больше его энтропия.

Если множество S примеров разбито на попарно непересекающиеся классы С1,С2,...,Ск, то информация, необходимая для того, чтобы идентифицировать класс примера, равна Info(S)=I(P), где Р – дискретное распределение вероятностей, соответствующих набору классов С1,С2,...,Ск и P=(C1/S,C2/S,…,Ck/S).

Разбив множество примеров на основе значений некоторого атрибута А на подмножества S1,S2,...,Sn, мы можем вычислить Info(S) как взвешенное среднее информации, необходимой для идентификации класса примера в каждом подмножестве:

Info(A,S) = Si/S * Info(Si), где i=1,...,n.

Величина Gain(A,S) = Info(S) – Info(A,S) показывает количество информации, которое получается благодаря атрибуту А.

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

7.4.6. Метод фокусирования

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

В методе фокусирования предполагается, что над значениями каждого из атрибутов Аi построена иерархия типа «класс – подкласс». Элементы нижнего уровня являются значениями атрибутов ci1,ci2,...,cin и встречаются в обучающем множестве S. Элементы верхних уровней соответствуют более общим понятиям, т.е. подмножествам Sij  Dom(Ai).

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

Каждому элементу иерархии соответствует конъюнкт вида AiSij в формируемых правилах, причем правило содержит в точности по одному конъюнкту для каждого предсказывающего атрибута:

A1S1j1 ∩ A2S2j2 ∩...∩ AmSmjm  C.

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

Цель алгоритма фокусирования – нахождение конъюнктов в условии правила. В иерархии каждого атрибута алгоритм отслеживает два указателя, называемые нижним и верхним (L и U). Указатель L указывает на наиболее ограничивающее условие, которое может быть конъюнктом правила. Правильный конъюнкт – обобщение любого из конъюнктов, расположенных ниже L. Указатель U отмечает наиболее ограничивающее условие, которое может быть конъюнктом. Все условия, не имеющие специализации U, не могут быть конъюнктами, так как противоречат контрпримерам.