Обобщения решающих деревьев
Обобщение правил ветвления
Вместо правил (признак меньше порога) во внутренних узлах дерева можно применять и другие правила:
-
Например, при использовании категориального признака можно построить столько дочерних вершин, сколько есть уникальных категорий, и, в зависимости от категории , спускаться в соответствующую вершину. Дерево тогда уже не будет бинарн ым [1]. Именно такой подход используется в решающем дереве ID3 [2] и его более продвинутой версии C4.5 [3].
-
Можно разбить множество значений признака на набор из непересекающихся полуинтервалов: и осуществлять спуск в дочернюю вершину , если признак попадает в -й полуинтервал.
-
В каждом внутреннем узле можно спускаться в левую или правую дочернюю вершину на основе правила
при этом вектора коэффициентов и пороги у каждого узла будут свои. Тогда каждый внутренний узел сможет разделять признаковое пространство не только перпендикулярно осям, но и под произвольным углом на основе линейной классификации.
-
В качестве проверяемой функции в узле можно брать произвольную функцию . Например, если взять , то правило будет направлять объекты в левую либо правую дочернюю вершину в зависимости от того, попал ли объект внутрь шара определённого радиуса или нет.
Обобщение правил прогнозирования в листьях
Вместо назначения константного прогноза в листьях дерева в каждом листе можно строить прогноз по некоторой функции (например, линейной):
Параметры этой функции можно настроить, используя обучающие объекты, попавшие в лист .
Более оптимальная настройка дерева
Стандартное решающее дерево строится последовательно сверху вниз, выбирая локально оптимальное разбиение на один шаг вперёд. Поиск можн о сделать более полным и точным (ценой увеличения вычислительной сложности), если настраивать правило разбиения в каждой вершине, заглядывая не на один шаг вперёд, а на два: для этого нужно перебирать всевозможные признаки и пороги не только в текущем узле, но и в образовавшихся левой и правой дочерних вершинах, максимизируя изменение неопределённости сразу на два шага вперёд между вершиной и потомками от её потомков. Можно анализировать влияние разбиений, заглядывая и на большее число шагов вперёд. Детально с алгоритмом можно ознакомиться в [4].
Мягкие решающие деревья
В стандартном решающем дереве спуск каждого объекта производится только по одному пути. В мягких решающих деревьях (soft decision trees [5]) объект спускается одновременно по всем путям сразу с вероятн остями, рассчитываемыму логистической регрессией в каждом узле.