Ансамбли моделей: бустинг и бэггинг

Мы продолжаем углубляться в тему методов интеллектуального анализа данных. Сегодняшняя статья расскажет вам об ансамблях моделей и методах их формирования – бустинге и бэггинге.

Ансамбли моделей: что? как? для чего?

Каждому, кто хоть мельком сталкивался с интеллектуальным анализом данных (англ. data mining), практически сразу становится очевидно, что ни один из методов не является идеальным (или, если хотите, универсальным) – и именно поэтому их появилось так много; исследователи и энтузиасты направления не один год ломают голову над поиском компромисса между точностью, простотой и интерпретируемостью каждой отдельной модели. Однако хочется отметить, что большинство экспертов отдает предпочтение точности – в самом деле, если подумать, именно это качество и делает модель полезной (хотя мы не станем отрицать, что такое мнение было и остается несколько субъективным).

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

  • каждый из базовых классификаторов сам по себе обладает неплохой точностью;
  • они приводят к разным результатам (ошибаются на разных множествах).

Для того, чтобы окончательно убедить наших читателей в целесообразности объединения моделей (классификаторов) в ансамбль, приведем три причины, которые выделяют эксперты:

  1. Статистическая. Как уже было сказано, агрегированный классификатор «усредняет» ошибку каждого из базовых классификаторов – соответственно, влияние случайностей на усредненную гипотезу существенно уменьшается.
  2. Вычислительная. Не углубляясь в пространные математические объяснения, приведем пример из реальной жизни: предположим, что на некой ограниченной местности зарыт клад. При этом рельеф и, например, растительность этой местности неоднородны – а еще приходится учитывать такие факторы, как ограниченность во времени и погодные условия. В нашем случае клад – это глобальный оптимум, и ансамбль моделей (команда «Индиан Джонсов») имеет больший шанс найти его, поскольку будет искать его из разных точек исходного множества гипотез (из разных точек нашей с вами территории).
  3. Репрезентативная. Может случиться и так, что агрегированная гипотеза будет находится за пределами множества гипотез базовых – в таком случае при построении комбинированной гипотезы мы расширим множество возможных гипотез.

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

Бустинг

Прежде чем говорить о бустинге, упомянем о двух терминах data mining – сильной и слабой моделях. Сильной моделью называется та модель, которая допускает минимальное количество ошибок классификации. Слабая же модель, напротив, допускает множество ошибок – то есть не является точной (либо теряет в надежности). Так вот, бустингом (от англ. boosting – усиление) называется метод, направленный на превращение слабых моделей в сильные путем построения ансамбля классификаторов.

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

Бэггинг

В отличие от предыдущего метода, бэггинг (bootstrap aggregating) использует параллельное обучение базовых классификаторов (говоря языком математической логики, бэггинг – улучшающее объединение, а бустинг – улучшающее пересечение). В ходе бэггинга происходит следующее:

  1. Из множества исходных данных случайным образом отбирается несколько подмножеств, содержащих количество примеров, соответствующее количеству примеров исходного множества.
  2. Поскольку отбор осуществляется случайным образом, то набор примеров всегда будет разным: некоторые примеры попадут в несколько подмножеств, а некоторые не попадут ни в одно.
  3. На основе каждой выборки строится классификатор.
  4. Выводы классификаторов агрегируются (путем голосования или усреднения).

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

Резюме

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

Автор: Елизавета Филиппова 

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =