Оценка моделей

Bootstrap

Бутстрэп

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

Многократная выборка с возвращением: даёт распределение метрики и доверительные интервалы без предположений о нормальности.

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

  • Out-of-bag объекты (≈36.8%) служат тестом.
  • Позволяет строить интервалы для любой метрики, включая AUC.
  • Лежит в основе бэггинга и случайного леса.

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

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

1

Как работает бутстрэп

Мы не можем собрать новую выборку — значит, будем пересобирать имеющуюся.

  1. Из выборки размера берём объектов с возвращением.
  2. Считаем на ней интересующую статистику (метрику модели, среднее, разницу метрик).
  3. Повторяем раз (обычно 1000).
  4. Получаем эмпирическое распределение статистики — из него берём интервал.
Обозначения
  • число объектов в выборке
  • сходимость: выражение слева стремится к тому, что справа
  • экспонента
Те самые 36.8% out-of-bag объектов
import numpy as np
scores = []
for _ in range(1000):
    idx = np.random.randint(0, len(y_true), len(y_true))
    scores.append(roc_auc_score(y_true[idx], y_pred[idx]))
lo, hi = np.percentile(scores, [2.5, 97.5])   # 95% интервал
2

Сравнение двух моделей бутстрэпом

Строим интервал не для метрики, а для разницы.

diffs = []
for _ in range(2000):
    idx = np.random.randint(0, n, n)
    diffs.append(score(y[idx], pred_a[idx]) - score(y[idx], pred_b[idx]))
lo, hi = np.percentile(diffs, [2.5, 97.5])
print(f"разница {np.mean(diffs):.4f}, интервал [{lo:.4f}, {hi:.4f}]")

Если интервал разницы содержит ноль, у вас нет оснований утверждать, что одна модель лучше другой. Это гораздо информативнее сравнения двух отдельных интервалов.

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

Предельные теоремы · Утечки и честная валидация · Эксперименты и статистика

Confidence intervals95%

Доверительные интервалы · Оценка моделей

Показывают точность оценки метрики; одно число без интервала мало о чём говорит.

Statistics95%

Статистика · Основы

Как от выборки перейти к выводам о генеральной совокупности: оценки, доверительные интервалы и проверка гипотез.

Data leakage85%

Утечка данных · Данные

Ситуация, когда в обучении присутствует информация, недоступная в момент реального предсказания. Главная причина «слишком хороших» метрик.

Train / Validation / Test split85%

Разбиение выборки · Данные

Train учит, validation настраивает гиперпараметры, test даёт единственную честную оценку — и используется один раз.

Data leakage85%

Утечка данных · Практика ML

Самая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.

Cross-validation85%

Кросс-валидация · Оценка моделей

Многократное разбиение выборки, дающее оценку качества вместе с её разбросом.

K-Fold85%

K-Fold · Оценка моделей

Данные делятся на K частей; каждая по очереди становится валидационной.

Stratified K-Fold85%

Стратифицированный K-Fold · Оценка моделей

K-Fold с сохранением пропорции классов в каждом фолде.

Leave-One-Out85%

Leave-One-Out · Оценка моделей

Предельный случай: валидация состоит ровно из одного объекта, и так N раз.

Normalization & Standardization85%

Нормализация и стандартизация · Данные

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

Law of Large Numbers80%

Закон больших чисел · Теория вероятностей и распределения

Среднее по выборке сходится к математическому ожиданию при росте числа наблюдений.

Central Limit Theorem80%

Центральная предельная теорема · Теория вероятностей и распределения

Сумма большого числа независимых слагаемых со сравнимым вкладом распределена приближённо нормально.

Heavy Tails80%

Тяжёлые хвосты · Теория вероятностей и распределения

Распределения, у которых экстремальные значения не являются пренебрежимо редкими. Именно они ломают привычные оценки и метрики.

Series and Convergence80%

Ряды и сходимость · Математический анализ

Когда бесконечная сумма имеет конечное значение и с какой скоростью алгоритм приближается к ответу.

Limits and Continuity80%

Пределы и непрерывность · Математический анализ

Предел описывает, к чему стремится функция вблизи точки. На этом понятии держатся производная, интеграл и вся теория сходимости алгоритмов.

Statistical significance75%

Статистическая значимость · Оценка моделей

Проверка, что разница между моделями не объясняется случайностью выборки.

Hypothesis testing75%

Проверка гипотез · Оценка моделей

Формальная процедура принятия решения на основе данных: нулевая гипотеза, статистика, уровень значимости.

A/B testing75%

A/B-тестирование · Оценка моделей

Онлайн-эксперимент, который единственный честно измеряет влияние модели на продуктовые метрики.

Ablation studies75%

Абляционные исследования · Оценка моделей

Поочерёдное отключение компонентов, чтобы понять, что именно даёт прирост качества.