Шпаргалка по отличиям ансамблевых методов в классификации
Раньше, бывало, забывал в чем отличия каждого из популярных ансамблевых методов, так что решил написать об этом краткую справку. Может, кому-то пригодится.
Стекинг
Берем наши данные целиком и учим на них несколько моделей с разными алгоритмами. Ответы по каждому примеру собираем и подаем на вход финальному решающему алгоритму.
Пример из жизни: Спрашиваем всех своих знакомых, какой из двух автомобилей лучше купить.
Плюсы: Очень просто реализовать.
Минусы: Хуже качество, если сравнивать с бэггингом и бустингом.
Бэггинг
Много раз берем случайные выборки из наших данных и обучаем на них несколько моделей с одним и тем же алгоритмом. Ответы по каждому примеру собираем и подаем на вход финальному решающему алгоритму.
Пример из жизни: Разные трейдеры, рекомендуют покупать или продавать какую-то конкретную акцию в зависимости от подмножества знаний о всем рынке, которыми они обладают в данный момент.
Плюсы: Очень легко параллелится, быстро работает.
Минусы: Качество классификации хуже, чем у бустинга.
Бустинг
Берем случайную выборку из данных и обучаем одну модель на одном алгоритме. На следующем шаге, в случайную выборку добавляем примеры, на которых предыдущая модель ошибалась больше всего и обучаем еще одну модель на том же самом алгоритме и т. д.
Пример из жизни: Похоже на то, как мы учим билеты к экзамену. Сначала все подряд, потом все больше внимания уделяя тем, на которые часто даем неверные ответы.
Плюсы: Высокое качество классификации.
Минусы: Медленно работает. т. к. если не заморачиваться, по умолчанию не параллелится.