Введение в упаковку в машинном обучении
Когда связь между набором переменных-предикторов и переменной отклика является линейной, мы можем использовать такие методы, как множественная линейная регрессия, для моделирования взаимосвязи между переменными.
Однако когда взаимосвязь более сложна, нам часто приходится прибегать к нелинейным методам.
Одним из таких методов являются деревья классификации и регрессии (часто сокращенно CART), которые используют набор переменных-предикторов для создания деревьев решений , прогнозирующих значение переменной ответа.
Однако недостатком моделей CART является то, что они склонны к высокой дисперсии . То есть, если мы разделим набор данных на две половины и применим дерево решений к обеим половинам, результаты могут сильно отличаться.
Один из методов, который мы можем использовать для уменьшения дисперсии моделей CART, известен как пакетирование , иногда называемое начальной агрегацией .
Что такое бэггинг?
Когда мы создаем единое дерево решений, мы используем только один набор обучающих данных для построения модели.
Однако при упаковке используется следующий метод:
1. Возьмите b самозагружаемых выборок из исходного набора данных.
- Напомним, что бутстреп-выборка — это выборка из исходного набора данных, в которой наблюдения взяты с заменой.
2. Создайте дерево решений для каждого образца начальной загрузки.
3. Усредните прогнозы каждого дерева, чтобы получить окончательную модель.
- Для деревьев регрессии мы берем среднее значение прогноза, сделанного B- деревьями.
- В качестве деревьев классификации мы возьмем наиболее распространенное предсказание, сделанное B -деревьями.
Пакетирование можно использовать с любым алгоритмом машинного обучения, но оно особенно полезно для деревьев решений, поскольку они по своей сути имеют высокую дисперсию, а пакетирование способно значительно уменьшить дисперсию, что приводит к уменьшению ошибок тестирования.
Чтобы применить пакетирование к деревьям решений, мы выращиваем отдельные деревья на глубине, не обрезая их. В результате отдельные деревья имеют высокую дисперсию, но низкую систематическую ошибку. Затем, когда мы берем средние прогнозы из этих деревьев, мы можем уменьшить дисперсию.
На практике оптимальная производительность обычно достигается при наличии от 50 до 500 деревьев, но для создания окончательной модели можно объединить тысячи деревьев.
Просто имейте в виду, что установка большего количества деревьев потребует большей вычислительной мощности, что может быть проблемой, а может и не быть, в зависимости от размера набора данных.
Оценка ошибок «вне сумки»
Оказывается, мы можем вычислить ошибку тестирования упакованной модели, не полагаясь на k-кратную перекрестную проверку .
Причина в том, что можно показать, что каждая бутстреп-выборка содержит примерно 2/3 наблюдений из исходного набора данных. Оставшаяся треть наблюдений, не используемых для соответствия упакованному дереву, называется наблюдениями вне пакета (OOB) .
Мы можем предсказать значение i-го наблюдения в исходном наборе данных, взяв среднее предсказание для каждого из деревьев, в которых это наблюдение было OOB.
Мы можем использовать этот подход, чтобы сделать прогноз для всех n наблюдений в исходном наборе данных и, таким образом, рассчитать частоту ошибок, которая является достоверной оценкой ошибки тестирования.
Преимущество использования этого подхода для оценки ошибки теста состоит в том, что он намного быстрее, чем перекрестная проверка в k-кратном размере, особенно когда набор данных большой.
Понимание важности предикторов
Помните, что одним из преимуществ деревьев решений является то, что их легко интерпретировать и визуализировать.
Когда вместо этого мы используем пакетирование, мы больше не можем интерпретировать или визуализировать отдельное дерево, поскольку окончательная модель пакетирования является результатом усреднения множества разных деревьев. Мы получаем точность предсказания за счет интерпретируемости.
Однако мы все равно можем понять важность каждой переменной-предиктора, рассчитав общее уменьшение RSS (остаточной суммы квадратов) из-за распределения по данному предиктору, усредненного по всем B- деревьям. Чем больше значение, тем более важен предиктор.
Аналогично, для моделей классификации мы можем рассчитать общее снижение индекса Джини из-за распределения по данному предиктору, усредненного по всем B -деревьям. Чем больше значение, тем важнее предиктор.
Таким образом, хотя мы не можем точно интерпретировать окончательную общую модель, мы все же можем получить представление о том, насколько важна каждая предикторная переменная при прогнозировании ответа.
Выйдите за рамки упаковки
Преимущество пакетирования состоит в том, что оно обычно обеспечивает снижение частоты ошибок при тестировании по сравнению с одним деревом решений.
Обратной стороной является то, что прогнозы на основе коллекции деревьев в мешках могут быть сильно коррелированы, если в наборе данных есть очень сильный предиктор.
В этом случае большинство или все упакованные деревья будут использовать этот предиктор для первого разделения, в результате чего деревья будут похожи друг на друга и будут иметь сильно коррелированные прогнозы.
Одним из способов решения этой проблемы является использование случайных лесов, которые используют метод, аналогичный методу пакетирования, но способны создавать украшенные деревья, что часто приводит к снижению частоты ошибок при тестировании.
Простое введение в случайные леса вы можете прочитать здесь .
Дополнительные ресурсы
Введение в деревья классификации и регрессии
Как выполнить упаковку в R (шаг за шагом)