[Перевод] Улучшение результатов машинного обучения с помощью ансамблевого обучения

машинное обучение
[Перевод] Улучшение результатов машинного обучения с помощью ансамблевого обучения

Как работают ансамблевые методы: бэггинг, бустинг и стекирование

Ансамблевое обучение может улучшить результаты машинного обучения за счет объединения нескольких моделей. Этот подход приводит к лучшим прогнозам производительности для результатов по сравнению с одной моделью. Вот почему ансамблевые методы заняли первые места на многих престижных соревнованиях по машинному обучению, таких как соревнование NetFlix, KDD 2009 и Kaggle.*.

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


Ансамбльный подход — это метаалгоритм, который объединяет несколько методов машинного обучения в прогностическую модель, которая может выполнятьdecrease variance(упаковка),bias(повышение) илиУлучшить прогнозы(укладка).

Ансамблевое обучение можно разделить на две группы:

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

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

Существуют также методы, в которых используются разные типы, т. е. разные типы объектов обучения, что приводит кГетерогенная интеграция. Чтобы ансамблевый метод был более точным, чем любой из его членов, лежащие в его основе объекты обучения должны быть как можно более точными и разнообразными.

Bagging

Бэггинг означает начальную агрегацию. Одним из способов уменьшить дисперсию оценок является усреднение нескольких оценок вместе. Например, мы можем обучить M разных деревьев на разных подмножествах данных (случайно выбранных и замененных) и вычислить ансамбль.

Бэггинг использует начальную выборку для получения подмножества данных, на которых следует обучать базовый объект обучения. Чтобы агрегировать выходные данные базового объекта обучения, пакетирование используетСекретное голосованиеиРегрессия к среднему.

Мы можем изучить проблему упаковки в контексте классификации набора данных радужной оболочки. Мы можем выбрать две базовые оценки: дерево решений и классификатор k-NN. На рис. 1 показаны изученные границы дерева решений базовой оценки и ансамбля бэггинга, примененного к набору данных Iris.

Accuracy: 0.63 (+/- 0.02) [Decision Tree] Accuracy: 0.70 (+/- 0.02) [K-NN] Accuracy: 0.64 (+/- 0.01) [Bagging Tree] Accuracy: 0.59 (+/- 0.07) [Bagging K-NN]

Дерево решений показывает параллельные границы для осей, причем ближайшая критическая точка при k=1 очень близка к точке данных. Ансамбль мешков обучается с использованием 10 базовых оценок с подвыборкой 0,8 для обучающих данных и 0,8 для признаков.

Ансамбль упаковки деревьев решений имеет более высокую точность, чем ансамбль упаковки K-NN. K-NN менее чувствителен к возмущению обучающих выборок, поэтому его называют устойчивым объектом обучения.

Объединение стабильных учебных объектов не всегда выгодно, поскольку иногда такой ансамбль не способствует повышению эффективности обобщения..

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

Мы также можем увидеть кривую обучения ансамбля дерева мешков. Обратите внимание, что средняя ошибка для обучающих данных составляет 0,3, а кривая ошибок для тестовых данных имеет U-образную форму. Наименьший разрыв между ошибками обучения и тестирования возникает примерно при 80% размера обучающей выборки.

Обычно используемый алгоритм ансамбля - это случайный лес..

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

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

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

Boosting

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

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

Следующий алгоритм описывает наиболее широко используемый, называемыйAdaBoostАлгоритм повышения, который расшифровывается как Adaptive Boosting.

Мы видим, что первый базовый классификатор y1(x) обучается с одинаковыми весовыми коэффициентами, которые равны. В последующих раундах дополнения весовой коэффициент увеличивается для неправильно классифицированных точек данных и уменьшается для правильно классифицированных точек данных.

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

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

Повышение градиентного дереваявляется обобщением буттинга на любую дифференцируемую функцию потерь. Его можно использовать как для задач регрессии, так и для задач классификации. Gradient Boosting строит модель последовательно.

Дерево решений hm(x) выбирается таким образом, чтобы минимизировать функцию потерь L на каждом этапе с использованием заданного тока Fm-1(x).

Алгоритмы регрессии и классификации различаются по типу используемой функции потерь.

Stacking

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

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

Верхний правый подграфик приведенного выше графика показывает следующие точности:

Точность: 0,91 (+/- 0,01) [КНН] Точность: 0,91 (+/- 0,06) [Случайный лес] Точность: 0,92 (+/- 0,03) [Наивный Байес] Точность: 0,95 (+/- 0,03) [классификатор суммирования]

Интеграция со стеком показана выше. Он состоит из классификаторов K-NN, Random Forest и Naive Bayesian, а его прогнозы используют логистическую регрессию в качестве метаклассификатора. Мы можем видеть, что классификатор стекирования достигает смешанных границ решения. На рисунке также показано, что суммирование имеет более высокую точность, чем одиночный классификатор, и основано на кривой обучения без признаков переобучения.

Стекирование — это распространенный метод победы в соревнованиях по науке о данных Kaggle. Например, первое место в конкурсе Otto Group Product Classification Challenge занял стековый ансамбль, состоящий из 30 моделей, чьи выходные данные использовались в качестве признаков для трех метаклассификаторов: XGBoost, Neural Network и Adaboost. Более подробную информацию можно найти наэтоПроверять.

код

Код для создания всех изображений в этой статье можно найти по адресуipython notebookПосмотреть выше.

Суммировать

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

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

Рекомендуемое чтение

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из ИнтернетаНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.