ЛР3
Бустинг на оттоке: почему ρ важен

Задание 3.2 · 2 балла

Бустинг на оттоке: почему ρ важен

Сравниваем одно дерево, бустинг с ρ = 1 и бустинг с подбором ρ. С подбором качество сильно выше, и это можно объяснить точно.

Классификация через регрессию

Бустинг с MSE учится предсказывать число около 0 или 1. Выход сравниваем с порогом 0.5 функцией decide_class из шаблона: ≥ 0.5 значит «уйдёт».

Сколько деревьев

Число итераций подобрано на валидации (четверть train), test не трогали. Шаг тут большой, поэтому бустинг учится очень быстро: лучший ROC-AUC на валидации уже после 4 деревьев, а дальше переобучение.

Слева ошибка на обучении по итерациям, справа ROC-AUC на валидации по числу деревьев
Слева: при ρ = 1 ошибка стоит ровной линией 0.1622, при подборе ρ падает. Справа: после 4-5 деревьев качество на валидации только снижается.

Результат

МодельROC-AUCF1accuracyMSEобучение
одно дерево глубины 30.7950.3750.8380.119~0.01 с
бустинг, ρ = 10.43300.7970.162~0.04 с
бустинг, ρ подбирается0.8500.5150.8550.107~0.1 с

Почему ρ = 1 вообще не учится

На пальцах. Хочешь повесить картину ровно в центр стены. Она висит на 10 см левее. Тебе говорят «сдвинь на удвоенную ошибку» и ты сдвигаешь на 20 см: теперь картина на 10 см правее. Следующий шаг: снова 20 см, теперь опять 10 см левее. Ошибка никогда не уменьшается, картина просто прыгает туда-обратно. Подбор ρ говорит: «сдвигай на половину от подсказки», то есть ровно на 10 см.
в листе дерева средняя ошибка (y - f) = e дерево предсказывает остаток 2·e ρ = 1: f_new = f + 2e → новая ошибка = e - 2e = -e (та же по модулю, другой знак) ρ = 0.5: f_new = f + e → новая ошибка = 0 ρ = 1: MSE на обучении 0.1622 → 0.1622 → 0.1622 → 0.1622 константа (среднее): 0.204 · 0.796 = 0.1622 → бустинг не лучше среднего
Ловушка: «качество должно возрасти» здесь видно слишком ярко. Если спросят, не ошибка ли ROC-AUC 0.433, ответ: нет, это математически точное следствие градиента 2(f - y) из теста. MSE на обучении стоит ровно на уровне константы, это проверено числами в ноутбуке.

Время

Почему подбор всё время даёт ρ = 0.5?

Вопросы на защите

Почему при ρ = 1 ROC-AUC меньше 0.5?

Прогнозы «качаются»: после чётного шага одни клиенты завышены, после нечётного занижены. Порядок клиентов по оценке путается, получается хуже случайного.

Почему лучших итераций всего 4?

Шаг 0.5 при остатке 2(y - f) это полный шаг без замедления (learning rate = 1). Модель быстро подстраивается под train, и после нескольких деревьев начинает переобучаться. Можно было бы взять маленький шаг и больше деревьев, но условие этого не требует.

Почему выход называют логитами?

Так в условии. На самом деле это число, похожее на вероятность ухода: мы учились предсказывать 0/1 через MSE. Настоящие логиты были бы при логистической потере.

Бустинг лучше леса?

На этих данных лес дал ROC-AUC 0.859, бустинг 0.850, это близко. Бустинг учится за доли секунды, лес за секунды. Бустинг можно улучшить маленьким шагом и большим числом деревьев.

Одна фразаС подбором ρ бустинг даёт ROC-AUC 0.850 против 0.795 у дерева; с ρ = 1 он не учится вообще, потому что градиент 2(f - y) удваивает шаг и ошибка просто меняет знак, а подбор каждый раз находит ρ = 0.5.