Классическое машинное обучение

Decision Trees

Решающие деревья

актуальноТекущий рабочий стандарт

Последовательность вопросов «признак > порог», разбивающая пространство на прямоугольные области.

Что означает каждый компонент
  • неоднородность до разбиения (Джини или энтропия)
  • неоднородность левой части, взвешенная её долей объектов
  • то же для правой части. Дерево выбирает порог, максимизирующий разность

Ключевые тезисы

  • Критерии разбиения: Gini и энтропия для классификации, дисперсия для регрессии.
  • Не требуют масштабирования и сами ловят нелинейности и взаимодействия.
  • Без ограничения глубины и обрезки переобучаются практически всегда.

Подробный разбор

3 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Устройство дерева

Корень, предикаты, листья — и как из них получается предсказание.

Каждый внутренний узел содержит предикат вида «признак > порог ». Объект спускается от корня к листу, отвечая на вопросы; в листе хранится ответ: доля классов или среднее значение цели.

  • Границы всегда параллельны осям — отсюда «лесенка» вместо наклонной прямой.
  • Дерево глубины разбивает пространство максимум на прямоугольных областей.
  • Пропуски и разные масштабы признаков дереву не мешают.
2

Критерий информативности и Information Gain

Как алгоритм выбирает лучший вопрос на каждом шаге.

Обозначения
  • энтропия — мера неопределённости распределения
  • награда, полученная агентом на шаге
Прирост информации: насколько разбиение снизило неоднородность
Обозначения
  • вероятность (или плотность распределения)
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • суммирование по всем перечисленным элементам
  • логарифм: превращает произведения в суммы и сжимает масштаб
Считаем

В узле 10 объектов: 6 класса 1 и 4 класса 0. , Джини . Если разбиение даёт слева (5 объектов: 5 и 0) и справа (5 объектов: 1 и 4), то Gain .

t = 0.50слева: 8 объектовсправа: 7 объектов
H(корень)0.498
H(лево)0.375
H(право)0.245
Information Gain0.183
Критерий информативности
Двигайте порог и следите за Information Gain — жадный алгоритм выбирает его максимум
3

Переобучение и стрижка

Дерево без ограничений всегда доучится до нулевой ошибки на train.

  • max_depth — самый понятный ограничитель сложности.
  • min_samples_leaf — не позволяет создавать листья из одного-двух объектов.
  • min_impurity_decrease — не делать разбиение, если выигрыш ничтожен.
  • Cost-Complexity Pruning (ccp_alpha) — сначала вырастить дерево, потом обрезать ветви, чей вклад не окупает сложности.
Критерий стрижки: ошибка плюс штраф за размер дерева

Связанные темы

Деревья и ансамбли

Random Forest85%

Случайный лес · Классическое машинное обучение

Бэггинг деревьев со случайными подвыборками объектов и признаков: усреднение резко снижает дисперсию.

Gradient Boosting85%

Градиентный бустинг · Классическое машинное обучение

Последовательное построение деревьев, каждое из которых исправляет ошибки предыдущего ансамбля.

XGBoost85%

XGBoost · Классическое машинное обучение

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

LightGBM85%

LightGBM · Классическое машинное обучение

Быстрый бустинг от Microsoft: гистограммное разбиение и рост дерева по листьям вместо по уровням.

CatBoost85%

CatBoost · Классическое машинное обучение

Бустинг от Яндекса с упорядоченным кодированием категорий и упорядоченным бустингом против смещения.

SHAP85%

SHAP · Интерпретируемость моделей

Распределение вклада признаков на основе значений Шепли из теории игр — с гарантиями аддитивности и согласованности.

Encoding85%

Кодирование категорий · Данные

Перевод категориальных признаков в числа: one-hot, ordinal, target encoding, хеширование, эмбеддинги.