Ансамбли рандомизированных деревьев
Как известно из разложения неоднозначности (ambiguity decomposition), ансамбли дают долее точные прогнозы, если базовые модели оказываются более непохожими друг на друга и дают более рассогласованные прогнозы. Когда строится ансамбль над решающими деревьями, то для повышения разнообразия предлагается строить деревья рандомизированным способом, то есть включая элемент случайности при их построении. На этом основаны алгоритмы решающего леса (random forest) и особо случайных деревьев (extra random trees), представляющие собой сильные базовые решения для работы с табличными данными.
Настройка решающих правил в деревьях
При настройке решающих деревьев в каждом внутреннем узле нужно выбрать правило вида : если -й признак больше порога , то происходит переход в правую дочернюю вершину, иначе в левую. Выбор номера признака и порога в узле осуществля ется по правилу:
где - изменение функции неопределённости в вершине после разбиения.
Обычное дерево
В стандартном решающем дереве CART в формуле (1) представляет собой набор пар (признак, порог) формирующийся перебором всех возможных пар (признак, порог):
для каждого inдля каждого из
Оператор возвращает все уникальные значения признака для объектов, попавших в узел .
Настройка правил в случайном лесе
Случайный лес (random forest) строится как бэггинг над решающими деревьями, но правила в каждом узле (1) каждого дерева настраиваются по случайному подмножеству признаков и всем допустимым порогам для них:
,
сэмплируем без возвращения случайно из
для каждого из :для каждого из :
- гиперпараметр метода, характеризующий долю признаков, по которым происходит настройка правила в узле. Например, при для каждого узла дерева будет сэмплироваться только половина всех признаков, по которым будет настраиваться правило (1).
Обратим внимание, что в каждом узле дерева сэмплируется своё случайное подмножество признаков, поэтому дерево как целое может зависеть от всех признаков. Это отличает деревья случайного леса от деревьев в методе случайных подпространств (random subspaces), в котором каждое дерево целиком будет зависеть от случайного подмножества признаков.
Гиперпараметр - основной гиперпараметр случайного леса, контролирующий выразительную сложность модели.
Чем ниже , тем меньше свободы у каждого решающего дерева в подборе оптимально го правила, и тем оно получается менее гибким и смещенным (недообученным). Зато деревья получаются более разнообразными за счёт большего разнообразия правил, по которым строятся решающие деревья.
Если же увеличивать , то деревья гибче подстраиваются под данные и становятся более переобученными и менее разнообразными.
Оптимальная точность ансамбля достигается при некотором балансе между точностью отдельных моделей и разнообразием их прогнозов. Поэтому в алгоритме случайного леса параметр - главный гиперпараметр и его нужно настраивать в первую очередь.
Каждая базовая модель случайного леса представляет собой рандомизированное решающее дерево. В силу случайности при его построении, использование бэггинга, то есть обучение каждого дерева на случайных псевдовыборках, становится необязательным, так как всё равно базовые алгоритмы будут получаться различными. Поэтому бэггинг можно как использовать, так и нет, в зависимости от того, какой вариант себя лучше покажет на валидационной выборке.