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

Как работают ансамбли

Идея очень проста – дать всем одну задачу и наблюдать как они найдут десятки и более новых способов решить задание.

Наилучший результат получается, когда алгоритмы в ансамблях максимально различны. Например, Регрессия (Regression) и Деревья Решений (Decision Trees) сочетаются отлично. А вот сочетание Наивный Байес (Naive Bayes) и метод k-ближайших соседей (k-nn method) в ансамблях не используют – они слишком стабильны и поэтому не могут выйти за привычные рамки решений.

Для сбора ансамблей применяют следующие подходы:

Ансамблевые методы МЛ

Стекинг = Stacking = Meta Ensembling

Сперва обучают несколько алгоритмов, затем результаты их работы показывают последнему алгоритму. Именно он и принимает окончательное решение. Стекинг – хороший, но наименее точный ансамбль среди остальных методов.

Стекинг

Беггинг = Bootstrap AGGregatING

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

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

Беггинг

Бустинг = Boosting

Этот способ включает последовательное обучение алгоритмов. То есть сперва обучаем первый и отмечаем места, где он ошибся. Затем обучаем второй, особое внимание уделяя местам, на которых ошибался первый. И так далее. До необходимого результата.

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


Подробнее о других методах машинного обучения читайте в наших статьях: «Искусственный интеллект, машинное обучение и нейронные сети», «Классическое обучение как разновидность машинного обучения», «Обучение с подкреплением как разновидность машинного обучения».

21.01.2019
Рейтинг: 0 / 5 (0)