Альтернативное дерево решений (ADTree) — это метод машинного обучения для классификации. Он обобщает деревья решений и имеет связи с бустингом .
ADTree состоит из чередования узлов решений, которые определяют условие предиката, и узлов прогнозирования, которые содержат одно число. Экземпляр классифицируется ADTree путем следования всем путям, для которых все узлы решений являются истинными, и суммирования любых пройденных узлов прогнозирования.
ADTrees были введены Йоавом Фройндом и Лью Мейсоном. [1] Однако представленный алгоритм имел несколько типографских ошибок. Разъяснения и оптимизации были позже представлены Бернхардом Пфарингером, Джеффри Холмсом и Ричардом Киркби. [2] Реализации доступны в Weka и JBoost.
Первоначальные алгоритмы повышения обычно использовали либо пни решений , либо деревья решений в качестве слабых гипотез. Например, пни решений повышения создают набор взвешенных пней решений (где — число итераций повышения), которые затем голосуют за окончательную классификацию в соответствии со своими весами. Отдельные пни решений взвешиваются в соответствии с их способностью классифицировать данные.
Усиление простого обучающегося приводит к неструктурированному набору гипотез, что затрудняет вывод корреляций между атрибутами. Чередующиеся деревья решений вводят структуру в набор гипотез, требуя, чтобы они строились на гипотезе, которая была создана в более ранней итерации. Результирующий набор гипотез можно визуализировать в дереве, основанном на связи между гипотезой и ее «родителем».
Еще одной важной особенностью усиленных алгоритмов является то, что данные получают разное распределение на каждой итерации. Экземпляры, которые классифицированы неправильно, получают больший вес, в то время как точно классифицированные экземпляры получают меньший вес.
Переменное дерево решений состоит из узлов решений и узлов прогнозирования. Узлы решений определяют предикатное условие. Узлы прогнозирования содержат одно число. ADTrees всегда имеют узлы прогнозирования как в качестве корня, так и листьев. Экземпляр классифицируется ADTree путем следования всем путям, для которых все узлы решений являются истинными, и суммирования всех пройденных узлов прогнозирования. Это отличается от бинарных деревьев классификации, таких как CART ( дерево классификации и регрессии ) или C4.5 , в которых экземпляр следует только одному пути по дереву.
Следующее дерево было построено с использованием JBoost на основе набора данных spambase [3] (доступного в репозитории машинного обучения UCI). [4] В этом примере спам кодируется как1 и обычная электронная почта кодируется как−1 .
В следующей таблице содержится часть информации для одного экземпляра.
Особенность | Ценить |
---|---|
char_freq_bang | 0,08 |
word_freq_hp | 0.4 |
capital_run_length_longest | 4 |
char_freq_dollar | 0 |
word_freq_remove | 0.9 |
word_freq_george | 0 |
Другие особенности | ... |
Экземпляр оценивается путем суммирования всех узлов прогнозирования, через которые он проходит. В случае экземпляра выше оценка вычисляется как
Итерация | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
Значения экземпляра | — | .08 < .052 = ф | .4 < .195 = ф | 0 < .01 = т | 0 < 0,005 = т | — | .9 < .225 = ф |
Прогноз | -0,093 | 0,74 | -1.446 | -0,38 | 0,176 | 0 | 1.66 |
Окончательный счет0,657 положительно, поэтому экземпляр классифицируется как спам. Величина значения является мерой уверенности в прогнозе. Первоначальные авторы перечисляют три потенциальных уровня интерпретации для набора атрибутов, идентифицированных ADTree:
При интерпретации отдельных узлов следует соблюдать осторожность, поскольку оценки отражают переоценку данных в каждой итерации.
Входные данные для алгоритма переменного дерева решений:
Основным элементом алгоритма ADTree является правило. Одно правило состоит из предусловия, условия и двух оценок. Условие — это предикат формы «атрибут <сравнение> значение». Предусловие — это просто логическое соединение условий. Оценка правила включает пару вложенных операторов if:
1 если (предварительное условие)2 если (условие)3 вернуть счет_один4 еще 5 вернуть счет_два6 конец, если 7 иначе 8 вернуть 09 конец если
Алгоритму также требуются несколько вспомогательных функций:
Алгоритм следующий:
1 функция ad_tree2 входных набора из m обучающих примеров34 w i = 1/ m для всех i 5 6 R 0 = правило с оценками a и 0 , предусловием «истина» и условием «истина».7 8 набор всех возможных условий 9 для 10 получить значения , которые минимизируют 11 12 13 14 R j = новое правило с предусловием p , условием c и весами a 1 и a 2 15 16 конец для 17 вернуть набор R j
Набор увеличивается на два предварительных условия в каждой итерации, и можно вывести древовидную структуру набора правил, отметив предварительные условия, которые используются в каждом последующем правиле.
Рисунок 6 в оригинальной статье [1] демонстрирует, что ADTrees обычно так же надежны, как усиленные деревья решений и усиленные пни решений . Обычно эквивалентная точность может быть достигнута с гораздо более простой структурой дерева, чем рекурсивные алгоритмы разбиения.