Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
уд экзамен.docx
Скачиваний:
48
Добавлен:
01.06.2024
Размер:
2.54 Mб
Скачать

28. Алгоритм Градиентного Бустинга. Для решения каких задач применяется алгоритм? Объясните принцип работы алгоритма. Основные параметры при работе алгоритма. Популярные реализации алгоритма.

Градиентный бустинг – это продвинутый алгоритм машинного обучения для решения задач классификации и регрессии. Он строит предсказание в виде ансамбля слабых предсказывающих моделей, которыми в основном являются деревья решений. Из нескольких слабых моделей в итоге мы собираем одну, но уже эффективную.

Общая идея алгоритма – последовательное применение предиктора (предсказателя) таким образом, что каждая последующая модель сводит ошибку предыдущей к минимуму.

Принцип работы градиентного бустинга заключается в следующем:

1. Сначала строится базовая модель, которая может быть любой моделью машинного обучения. Эта модель используется для предсказания значений целевой переменной.

2. Затем для каждого наблюдения вычисляется ошибка предсказания базовой модели. Это значение называется "потерь" или "ошибкой".

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

  2. Этот процесс повторяется несколько раз до тех пор, пока не будет достигнут определенный уровень точности или не будет достигнуто максимальное количество деревьев.

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

Параметры алгоритма

  • loss – функция ошибки для минимизации.

  • criterion – критерий выбора расщепления, Mean Absolute Error (MAE) или Mean Squared Error (MSE). Используется только при построении деревьев.

  • Init – какой алгоритм мы будем использовать в качестве главного (именно его и улучшает техника бустинга).

  • learning_rate – скорость обучения.

  • n_estimators – число итераций в бустинге. Чем больше, тем лучше качество, однако слишком большой увеличение данного параметра может привести к ухудшению производительности и переобучению.

  • min_samples_split – минимальное число объектов, при котором происходит расщепление. С данным параметром мы можем избежать переобучение.

  • min_samples_leaf – минимальное число объектов в листе (узле). При увеличении данного параметра качество модели на обучении падает, в то время как время построения модели сокращается. Меньшие значения стоит выбирать для менее сбалансированных выборок.

  • max_depth – максимальная глубина дерева. Используется для того, чтобы исключить возможность переобучения.

  • max_features – количество признаков, учитываемых алгоритмом для построения расщепления в дереве.

  • max_leaf_nodes : Максимальное число верхних точек в дереве. При наличии данного пара`метра max_depth будет игнорироваться.

Основные параметры при работе алгоритма:

• Количество деревьев: Количество слабых деревьев, которые необходимо построить.

• Глубина дерева: Максимальная глубина деревьев решений.

• Скорость обучения: Скорость, с которой алгоритм уменьшает веса наблюдений.

• Регуляризация: Параметр, который предотвращает переобучение модели.

Популярные реализации алгоритма:

• XGBoost (Extreme Gradient Boosting)

• LightGBM (Light Gradient Boosting Machine)

• CatBoost (Categorical Boosting)