Создание надежных моделей искусственного интеллекта с помощью мешков: методы, преимущества и приложения
Опубликовано: 2025-01-09Бэггинг — это метод ансамблевого машинного обучения (ML), который повышает согласованность прогнозных моделей. В этом руководстве описывается, как работает пакетирование, обсуждаются его преимущества, проблемы и применения, а также сравнивается его с аналогичными методами, такими как буст.
Оглавление
- Что такое бэггинг?
- Дисперсия против смещения
- Бэггинг против буста
- Как работает упаковка в мешки
- Типы алгоритмов упаковки
- Применение упаковки в мешки
- Преимущества мешковины
- Проблемы и ограничения упаковки в мешки
Что такое бэггинг?
Бэггинг (или, более формально, бутстрап-агрегирование) — это метод ансамблевого обучения, который повышает точность вывода за счет использования нескольких похожих моделей машинногообучения. По своей сути ансамблевое обучение объединяет несколько моделей для достижения более высоких результатов, чем любая отдельная модель.
Этот подход предполагает разделение обучающих данных на случайные подмножества и обучение на каждом из них отдельной модели. Для новых входных данных прогнозы всех моделей объединяются для получения окончательного результата. Используя рандомизированные подмножества, этот метод уменьшает расхождения между моделями, что приводит к более последовательным прогнозам.
Пакетирование особенно эффективно для улучшения согласованности за счет минимизации дисперсии системы ML.
Дисперсия против смещения
Уменьшение предвзятости и дисперсии — фундаментальная цель любой модели или системы ML.
Смещение описывает ошибки, которые допускает система машинного обучения из-за своих предположений относительно данных, которые она видит. Обычно это определяется путем расчета того, насколько ошибочна модель в среднем. Отклонение измеряет согласованность модели. Он оценивается путем проверки того, насколько различаются выходные данные модели для аналогичных входных данных.
Высокая предвзятость
В качестве примера давайте рассмотрим задачу прогнозирования продажной цены дома на основе его характеристик (таких как площадь в квадратных метрах и количество спален). Простая модель может делать множество упрощающих допущений и учитывать только площадь в квадратных футах, что приводит к высокой погрешности. Он будет постоянно ошибаться, даже в отношении обучающих данных, потому что реальность сложнее, чем его предположения. Таким образом, он просто не может уловить реальные предсказатели цен (такие как местоположение, качество школы и количество спален).
Высокая дисперсия
Более сложная модель может улавливатькаждуютенденцию в обучающих данных и иметь высокую дисперсию. Например, эта модель может найти небольшую корреляцию между номером дома (по сути, числовой частью уличного адреса) и ценой в обучающих данных и использовать ее, даже если она не является реальным предиктором. Он хорошо работает с обучающими данными, но плохо с реальными данными.
Компромисс дисперсионного смещения
Идеальная модель должна иметь низкую предвзятость и низкую дисперсию, последовательно генерируя правильные выходные данные для аналогичных входных данных. Высокая погрешность обычно возникает из-за того, что модель слишком проста, чтобы уловить закономерности в обучающих данных — из-за недостаточного соответствия. Высокая дисперсия обычно возникает из-за того, что модель улавливает ложные закономерности в обучающих данных — переобучение.
Повышение сложности модели может позволить ей уловить больше закономерностей, что приведет к снижению систематической ошибки. Однако эта более сложная модель будет иметь тенденцию переопределять обучающие данные, что приведет к более высокой дисперсии, и наоборот. На практике трудно достичь сбалансированного компромисса между смещением и дисперсией.
Бэггинг направлен на уменьшение дисперсии. Каждая модель в ансамбле может иметь высокую дисперсию, поскольку она не соответствует своему набору данных. Но поскольку каждая модель получает рандомизированный набор данных, они обнаруживают разные ложные закономерности. В примере с ценами на жилье одна модель может переоценивать дома с четными номерами, другая — недооценивать их, а большинство — вообще игнорировать номера домов.
Эти произвольные закономерности имеют тенденцию усредняться, когда мы усредняем их прогнозы, оставляя нам истинные основные взаимосвязи. Таким образом, ансамбль обеспечивает меньшую дисперсию и меньшее переобучение по сравнению с любой отдельной моделью.
Бэггинг против буста
Вы можете услышать, как о бэггинге говорят в том же контексте, что и о бустинге. Это наиболее распространенные методы ансамблевого обучения, лежащие в основе многих популярных моделей машинного обучения. Бустинг — это метод, при котором модели обучаются на ошибках предыдущих моделей. Затем эта группа моделей используется для реагирования на любые входные данные. Давайте обсудим различия между этими двумя методами дальше.
Упаковка | Повышение | |
Модельное обучение | Модели обучаются параллельно на разных подмножествах данных. | Модели обучаются последовательно, при этом каждая модель фокусируется на ошибках предыдущей модели. |
Фокус на уменьшении ошибок | Уменьшает дисперсию | Уменьшает предвзятость |
Общие алгоритмы | Случайный лес, деревья решений в мешках | AdaBoost, повышение градиента, XGBoost |
Риск переобучения | Меньший риск переобучения из-за случайной выборки | Более высокий риск переобучения |
Вычислительная сложность | Ниже | Выше |
Оба метода распространены, хотя повышение более популярно. Бустинг может уменьшить как смещение, так идисперсию, тогда как бэггинг обычно влияет только на дисперсию.
Как работает упаковка в мешки
Давайте рассмотрим, как на самом деле работает бэггинг. Суть заключается в случайном разделении обучающих данных, параллельном обучении моделей на разделенных данных и использовании всех моделей для реагирования на входные данные. Мы разберемся с каждым по очереди.
Разделение данных
Предположим, у нас есть набор обучающих данных сnточками данных и мы хотим создать пакетный ансамбль изmмоделей. Затем нам нужно создатьmнаборов данных (по одному для каждой модели), каждый из которых содержитnточек. Если в каждом наборе данных больше или меньшеnточек, некоторые модели будут переобучены или недостаточно обучены.
Чтобы создать один новый случайный набор данных, мы случайным образом выбираемnточек из исходного набора обучающих данных. Важно отметить, что после каждого выбора мы возвращаем точки в исходный набор данных. В результате новый набор случайных данных будет иметь более одной копии некоторых исходных точек данных и не иметь копий других. В среднем этот набор данных будет состоять из 63% уникальных точек данных и 37% повторяющихся точек данных.
Затем мы повторяем этот процесс, чтобы создать всеmнаборов данных. Различия в представлении точек данных помогают создать разнообразие среди моделей ансамбля, что является одним из ключей к снижению дисперсии в целом.
Модельное обучение
С нашимиmрандомизированными наборами данных мы просто обучаемmмоделей, по одной модели для каждого набора данных. Мы должны использовать одну и ту же модель повсюду, чтобы обеспечить схожие предубеждения. Мы можем обучать модели параллельно, что позволяет выполнять итерации гораздо быстрее.
Агрегирующие модели
Теперь, когда у насестьобученные модели, мы можем использовать их как ансамбль для реагирования на любые входные данные. Каждая точка входных данных подается параллельно в каждую из моделей, и каждая модель отвечает своими выходными данными. Затем мы объединяем результаты моделей, чтобы получить окончательный ответ. Если это проблема классификации, мы берем режим выходов (наиболее распространенный выход). Если это проблема регрессии, мы берем среднее значение выходных данных.
Ключом к уменьшению дисперсии здесь является то, что каждая модель лучше по одним видам входных данных и хуже по другим из-за различий в обучающих данных. Однако в целом ошибки любой одной модели должны компенсироваться другими моделями, что приводит к снижению дисперсии.
Типы алгоритмов упаковки
Бэггинг как алгоритм можно применять к любому типу модели. На практике очень распространены две пакетные модели: случайные леса и пакетированные деревья решений. Давайте кратко рассмотрим оба.
Случайные леса
Случайный лес — это ансамбль деревьев решений, каждое из которых обучено на рандомизированных наборах данных. Дерево решений — это модель, которая делает прогнозы, отвечая на вопросы «да» или «нет» о входных данных, пока не будет найдена подходящая метка.
В случайном лесу каждое дерево решений имеет одни и те же гиперпараметры — заранее заданные конфигурации, такие как максимальная глубина дерева или минимальное количество выборок на разделение, — но оно использует разные (выбранные случайным образом) функции из набора обучающих данных. Без рандомизации признаков каждое дерево решений может сходиться к одинаковым ответам, несмотря на различия в обучающих данных. Случайные леса — чрезвычайно популярный выбор для машинного обучения и часто являются хорошей отправной точкой для решения задач машинного обучения.
Деревья решений в пакетах
Деревья решений в пакетах очень похожи на случайные леса, за исключением того, что каждое дерево использует одни и те же функции из набора обучающих данных. Это уменьшает разнообразие выходных данных деревьев, что имеет свои плюсы и минусы. С другой стороны, деревья более устойчивы и, скорее всего, дадут схожие ответы; это можно использовать для определения того, какие функции важны. Обратной стороной является то, что дисперсия не уменьшится так сильно. По этой причине случайные леса используются гораздо чаще, чем пакетированные деревья решений.
Применение упаковки в мешки
Пакетирование можно использовать в любой задаче машинного обучения, где дисперсия выше желаемой. Пока существует модель ML, ее можно упаковать. Чтобы сделать это более конкретным, мы рассмотрим несколько примеров.
Классификация и регрессия
Классификация и регрессия — две основные проблемы ML. Пользователь может захотеть пометить объект изображения как кошку или собаку — классификация. Или пользователь может захотеть спрогнозировать цену продажи дома на основе его характеристик — регрессия. Как мы видели, упаковка может помочь уменьшить дисперсию в обоих случаях.
При классификации используется режим ансамблевых моделей. В регрессии используется среднее значение.
Выбор функции
Выбор функций заключается в поиске наиболее важных функций в наборе данных — тех, которые лучше всего предсказывают правильный результат. Удаляя ненужные данные о функциях, разработчик модели может уменьшить вероятность переобучения.
Знание наиболее важных особенностей также может сделать модели более интерпретируемыми. Кроме того, разработчики моделей могут использовать эти знания, чтобы уменьшить количество функций в обучающих данных, что приведет к более быстрому обучению. Деревья решений в пакетах хорошо помогают выявить важные особенности. Функции, которые в них имеют большой вес, вероятно, будут важными.
Упаковка в электронную коммерцию
Упаковка в пакеты в электронной коммерции особенно ценна для прогнозирования оттока клиентов. Модели машинного обучения, обученные на данных об оттоке клиентов, часто имеют высокую дисперсию из-за сложных и шумных моделей поведения клиентов; они могут переоборудовать свой набор обучающих данных. Они также могут сделать вывод о ложных отношениях, например, предположить, что количество гласных в имени клиента влияет на вероятность его оттока.
Набор обучающих данных может содержать лишь несколько примеров, вызывающих такое переоснащение. Используя пакетные модели, ансамбль может лучше идентифицировать настоящие индикаторы оттока, игнорируя при этом ложные корреляции, что приводит к более надежным прогнозам оттока.
Преимущества мешковины
Пакетирование уменьшает дисперсию модели и переобучение, а также помогает решить проблемы с данными. Это также один из наиболее распараллеливаемых и эффективных методов упаковки.
Уменьшенная дисперсия
Отклонение модели указывает на то, что модель не изучает истинные, значимые закономерности в данных. Вместо этого он улавливает случайные корреляции, которые не имеют большого значения и являются признаком несовершенства обучающих данных.
Упаковка уменьшает вариативность моделей; ансамбль в целом фокусируется на значимых отношениях между входом и выходом.
Хорошо обобщайте новые данные
Поскольку упакованные модели с большей вероятностью улавливают значимые взаимосвязи, они могут обобщать новые или невидимые данные. Хорошее обобщение — конечная цель машинного обучения, поэтому пакетирование часто оказывается полезным методом для многих моделей.
Почти в каждой задаче машинного обучения набор обучающих данных не полностью отражает фактические данные, поэтому хорошее обобщение является ключевым моментом. В других случаях истинное распределение данных может меняться со временем, поэтому необходима адаптируемая модель. Упаковка помогает в обоих случаях.
Высокая степень параллелизации
В отличие от повышения, создание пакетных моделей легко распараллеливается. Каждую модель можно обучать независимо и одновременно, что позволяет быстро экспериментировать и упростить настройку гиперпараметров (конечно, при условии, что у вас достаточно вычислительных ресурсов для параллельного обучения).
Кроме того, поскольку каждая модель независима от других, ее можно заменять или отключать. Например, слабую модель можно переобучить на другом случайном подмножестве, чтобы улучшить ее производительность, не затрагивая другие модели.
Проблемы и ограничения упаковки в мешки
К сожалению, добавление большего количества моделей увеличивает сложность. Повышенная сложность означает, что пакетные модели требуют гораздо больше вычислительных ресурсов, их труднее интерпретировать и понимать, а также требуют большей настройки гиперпараметров.
Требуется больше вычислительных ресурсов
Для запуска большего количества моделей требуется больше ресурсов, и зачастую объединенные ансамбли включают более 50 моделей. Это может хорошо сработать для моделей меньшего размера, но с более крупными это может оказаться затруднительным.
Время отклика ансамбля также может ухудшиться по мере его роста. У ресурсов также есть альтернативная стоимость: их лучше использовать для обучения более крупной и лучшей модели.
Труднее интерпретировать
Модели машинного обучения в целом сложны для интерпретации. Индивидуальные деревья решений немного проще, поскольку они показывают, на каком признаке они основывают решения. Но когда вы группируете их вместе, как в случайном лесу, противоречивые ответы каждого дерева могут сбить с толку.
Выбор режима или среднего значения прогнозов сам по себе не объясняет, почему это правильный прогноз. Мудрость толпы, хотя она зачастую и права, трудно понять.
Дополнительная настройка гиперпараметров
Чем больше моделей, тем сильнее эффект гиперпараметров. Одна небольшая ошибка в гиперпараметрах теперь может повлиять на десятки или сотни моделей. Настройка одного и того же набора гиперпараметров требует больше времени, что может привести к еще большей нагрузке на ограниченные ресурсы.