Сатья Кришнан Суреш, Шунмугаприя

В моих предыдущих статьях представленные модели были автономными моделями. Но часто комбинация моделей превосходит отдельные модели. Это из-за теории под названием мудрость толпы. В нем говорится, что объединение прогнозов, полученных от нескольких предикторов, более точно, чем прогноз одного предиктора. Процесс объединения нескольких предикторов и агрегирования их прогнозов называется ансамблем, а модель, построенная в этом процессе, называется моделью ансамбля. Большинство соревнований Kaggle выигрывают ансамблевые модели. В этой статье мы обсудим голосование, пакетирование и вставку, а также случайный лес. Это набор данных, с которым мы будем работать. Код этой статьи можно найти здесь.

ГОЛОСОВАНИЕ.
Когда несколько предикторов создаются для предсказания одних и тех же экземпляров, голосование — это простой процесс выбора предсказания или класса, который встречается чаще всего. Сделанный прогноз также можно назвать режимом прогнозов, сделанных отдельными предикторами. Голосование бывает двух видов — жесткое и мягкое. Когда прогнозы, сделанные отдельными моделями, являются дискретными, это называется жестким голосованием, а когда сделанные прогнозы являются вероятностными, это называется мягким голосованием. Мягкое голосование обычно работает лучше, поскольку оно придает большее значение классам с более высокой вероятностью, тогда как при жестком голосовании важность просто придается порогу принятия решения. На следующем рисунке показано, как можно реализовать жесткое и мягкое голосование в scikit-learn. Как видите, оба классификатора голосования работают лучше, чем логистическая регрессия и модель k-соседей. Как было сказано ранее, мягкое голосование работает лучше, чем жесткое.

РАЗБИВКА И ВСТАВКА:
В методе голосования все модели были обучены на одних и тех же данных, и, следовательно, если модели похожи, они обязаны делать одни и те же ошибки в определенных случаях. Если каждая модель обучалась на случайном подмножестве данных, которое отличается от экземпляров, на которых обучались другие модели, то общие ошибки, допущенные всеми моделями, сводятся на нет. Это приводит к более разнообразной модели. Отдельные модели будут иметь высокое смещение, но меньшую дисперсию, и когда они объединяются для формирования ансамблевой модели, результирующая модель будет иметь такое же смещение, но более низкую дисперсию. Отдельные модели будут иметь большое смещение, потому что они обучаются не на всех данных, а на их подмножестве.

Когда случайная выборка выполняется с заменой (самозагрузкой), то есть экземпляры данных подмножества могут повторяться, тогда это называется пакетированием. Если случайная выборка производится без замены, то она называется вставкой. Модели с бэггингом имеют более высокую предвзятость, чем вставка, поскольку они видят экземпляр более одного раза. Пакетирование и вставка используют один предиктор в качестве базовой модели и обучают случайные подмножества на нескольких моделях одного типа. На следующем рисунке показано, как реализовать пакетирование и вставку в scikit-learn.

СЛУЧАЙНЫЙ ЛЕС:
Случайный лес основан на концепции случайных подпространств. Случайные подпространства — это процесс выборки объектов вместо выборки экземпляров. Чтобы понять, почему выборка выполняется по функциям, вы должны сначала понять, как работает дерево решений.

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

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

Когда дело доходит до классификатора пакетов и классификатора случайного леса, нет необходимости создавать отдельный набор проверки. Это связано с тем, что при выполнении выборки с заменой некоторые экземпляры могли не использоваться для обучения отдельной модели. Эти экземпляры называются готовыми (oob) экземплярами. Вы можете использовать эти экземпляры в качестве проверочного набора и посмотреть, как модель работает на этих экземплярах. Обратите внимание, что экземпляры oob будут разными для каждой отдельной модели. На следующем рисунке показано, как получить oob_score в scikit-learn.

ЗАКЛЮЧЕНИЕ:
В этой статье обсуждались вопросы голосования, упаковки и вставки, а также случайного леса. В следующей статье будут рассмотрены AdaBoost и GradientBoost.