Ансамблевое обучение с использованием Scikit-Learn Дружественное введение

Ансамблевое обучение с использованием Scikit-Learn' - введение

Алгоритмы ансамбля, такие как XGBoost или Случайные леса, являются одними из лучших моделей в соревнованиях Kaggle. Как они работают?

Источник: unsplash.com

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

Представьте себе, что вы просите человека угадать, сколько желейных бобов находится в большой банке. Ответ одного человека вряд ли будет точной оценкой правильного числа. Вместо этого, если мы зададим этот же вопрос тысяче человек, средний ответ, скорее всего, будет близким к фактическому числу. Это явление называется мудростью толпы [1]. При работе с сложными задачами оценки толпа может быть значительно более точной, чем отдельное лицо.

Алгоритмы ансамблевого обучения используют этот простой принцип, объединяя предсказания группы моделей, таких как регрессоры или классификаторы. Для агрегации классификаторов ансамблевая модель может просто выбрать наиболее часто встречающийся класс среди предсказаний низкоуровневых классификаторов. Вместо этого, для задачи регрессии ансамбль может использовать среднее или медиану всех предсказаний.

Изображение автора.

Путем агрегации большого числа слабых обучающихся, то есть классификаторов или регрессоров, которые немного лучше случайного угадывания, мы можем достичь невероятных результатов. Рассмотрим задачу бинарной классификации. Путем объединения 1000 независимых классификаторов с индивидуальной точностью 51% мы можем создать ансамбль, достигающий точности 75% [2].

Вот почему алгоритмы ансамбля часто становятся победными решениями во многих соревнованиях по машинному обучению!

Существует несколько техник для создания алгоритма ансамблевого обучения. Основные из них – бэггинг, бустинг и стекинг. В следующем…