Ошибка вне мешка ( OOB ) , также называемая оценкой вне мешка , — это метод измерения ошибки прогнозирования случайных лесов , усиленных деревьев решений и других моделей машинного обучения , использующих бутстреп-агрегацию (бэггинг). Бэггинг использует подвыборку с заменой для создания обучающих выборок, на которых будет обучаться модель. Ошибка вне мешка — это средняя ошибка прогнозирования для каждой обучающей выборки x i , использующая только деревья, в которых не было x i в их бутстреп-выборке. [1]
Агрегирование методом Bootstrap позволяет определить приблизительную оценку улучшения эффективности прогнозирования путем оценки прогнозов на основе тех наблюдений, которые не использовались при построении следующего базового обучающегося алгоритма.
При выполнении агрегации bootstrap создаются два независимых набора. Один набор, bootstrap-выборка, представляет собой данные, выбранные для "in-the-bag" путем выборки с заменой. Набор out-of-bag представляет собой все данные, не выбранные в процессе выборки.
Когда этот процесс повторяется, например, при построении случайного леса , создается много выборок bootstrap и наборов OOB. Наборы OOB можно объединить в один набор данных, но каждый образец считается out-of-bag только для деревьев, которые не включают его в свою выборку bootstrap. На рисунке ниже показано, что для каждого выбранного пакета данные разделяются на две группы.
Этот пример показывает, как можно использовать бэггинг в контексте диагностики заболеваний. Набор пациентов является исходным набором данных, но каждая модель обучается только пациентами в своем наборе. Пациенты в каждом наборе вне набора могут использоваться для тестирования соответствующих моделей. Тест будет рассматривать, может ли модель точно определить, есть ли у пациента заболевание.
Поскольку каждый набор out-of-bag не используется для обучения модели, это хороший тест для производительности модели. Конкретный расчет ошибки OOB зависит от реализации модели, но общий расчет выглядит следующим образом.
Процесс бэггинга можно настроить в соответствии с потребностями модели. Чтобы обеспечить точность модели, размер обучающей выборки bootstrap должен быть близок к размеру исходного набора. [2] Также следует учитывать количество итераций (деревьев) модели (леса), чтобы найти истинную ошибку OOB. Ошибка OOB стабилизируется в течение многих итераций, поэтому начинать с большого количества итераций — хорошая идея. [3]
Как показано в примере справа, ошибку OOB можно обнаружить с помощью описанного выше метода после настройки леса.
Ошибка «вне сумки» и перекрестная проверка (CV) — это разные методы измерения оценки ошибки модели машинного обучения . После многих итераций эти два метода должны давать очень похожую оценку ошибки. То есть, как только ошибка OOB стабилизируется, она будет сходиться к ошибке перекрестной проверки (в частности, к ошибке «исключить по одному»). [3] Преимущество метода OOB заключается в том, что он требует меньше вычислений и позволяет тестировать модель по мере ее обучения.
Ошибка «вне мешка» часто используется для оценки ошибок в случайных лесах , но, как показало исследование, проведенное Силке Яница и Романом Хорнунгом, ошибка «вне мешка» переоценивается в условиях, которые включают одинаковое количество наблюдений из всех классов ответов (сбалансированные выборки), небольшие размеры выборки, большое количество переменных-предикторов, небольшую корреляцию между предикторами и слабые эффекты. [4]