1. Градиентный бустинг последовательно добавляет новые модели к уже построенному ансамблю. Каждое новое дерево обучается уменьшать ошибки текущего прогноза и вносит корректировку с учётом скорости обучения. В отличие от бэггинга, где модели обучаются преимущественно независимо и их ответы объединяются, бустинг последовательно улучшает общий прогноз.

 

2. При регрессии с квадратичной функцией потерь сначала вычисляются остатки — разности между фактическими значениями и текущими прогнозами. Новое дерево обучается приближать эти остатки. В общем случае используются псевдоостатки, представляющие собой отрицательные производные функции потерь по текущим прогнозам. Таким образом, каждое новое дерево приближает направление уменьшения ошибки ансамбля.

 

3. Параметр learning_rate определяет величину поправки, вносимой каждым деревом. n_estimators задаёт количество деревьев в ансамбле, а max_depth ограничивает глубину базовых деревьев. Маленькая скорость обучения обычно требует большего числа деревьев. Увеличение глубины позволяет моделировать более сложные зависимости, но повышает риск переобучения и вычислительные затраты.

 

4. Переобучение возникает, когда ансамбль содержит слишком много сложных деревьев и начинает подстраиваться под шум обучающих данных. Для его ограничения используют уменьшение глубины деревьев, снижение скорости обучения, случайный отбор объектов и раннюю остановку. Early Stopping прекращает добавление деревьев, если качество на отдельной валидационной выборке не улучшается в течение заданного числа шагов.

 

5. В практическом примере с помощью make_classification создаётся набор из 1000 объектов с 10 признаками. Данные разделяются на обучающую и тестовую выборки в соотношении 80% и 20%. Затем обучается GradientBoostingClassifier со 100 деревьями, learning_rate=0.1 и max_depth=3. Качество оценивается с помощью accuracy_score и classification_report. Далее значения learning_rate 0.03, 0.1 и 0.3 сравниваются с использованием пятикратной перекрёстной проверки на обучающей выборке. Тестовые данные не используются для подбора параметров.