Введение

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

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

Как вы думаете, кто выбрал лучший подход?

Что ж, для «Random» все зависит от случая. Если в городе 300 пиццерий, вероятность того, что он сделает все правильно, составляет 1/300. Определенно не лучший вариант. Что касается «Соло», то его выбор может быть и хорош для него, но он необъективен. Он не посещал все другие пиццерии и, следовательно, не может понять это правильно.

Теперь, что касается третьего друга, «Мудрого», у него очень интересный подход. Он не делает случайных предположений, как первый друг, и не позволяет своей предвзятости проявиться. Он принимает мнение людей из разных групп, имеющих свое собственное независимое мнение, что гарантирует, что индивидуальные предубеждения не складываются.

Это точная интуиция, лежащая в основе ансамблевого обучения. Этот метод использует Закон больших чисел. Давайте получим интуицию об этом, используя монету. Мы знаем, что вероятность выпадения орла или решки равна 0,5. Но в то же время, если я подброшу монету 8 раз, вероятность того, что орел выпадет ровно четыре раза, не равна 0,5. Вместо этого, если мы подбросим его 100 раз, то число окажется ближе к 0,5. Это потому, что только в долгосрочной перспективе вероятность приближается к ожидаемому числу, и то же самое происходит для любого другого сценария.

Подходы к ансамблю

Существует несколько подходов к ансамблю. В приведенном выше примере «Мудрый» может считать голоса всех равными или, может быть, в толпе есть кулинарный блогер, чей голос имеет большее значение, чем другие. Точно так же существуют и другие подходы. Ниже приведены те, о которых вы должны знать:

  1. Голосование: это простой метод ансамбля, который включает в себя объединение прогнозов нескольких моделей путем получения большинства голосов.
  2. Взвешенное голосование: как и в случае с голосованием, этот метод предполагает получение большинства голосов по прогнозам нескольких моделей, но с весами, присвоенными каждой модели. Вес отражает относительную важность каждой модели в ансамбле.
  3. Бэггинг: это метод, который включает создание нескольких моделей с использованием образцов начальной загрузки (варианты одного и того же набора данных, мы доберемся до этого чуть позже) обучающих данных, где каждый образец выбирается случайным образом с заменой из исходного набора данных. Каждая модель обучается на различном подмножестве данных, а затем их прогнозы объединяются для получения окончательного прогноза. Бэггинг особенно эффективен, когда базовые модели нестабильны или склонны к переоснащению.
  4. Повышение: этот подход включает в себя итеративное добавление новых моделей в ансамбль, где каждая новая модель обучается исправлять ошибки предыдущей модели. Затем окончательный прогноз основывается на средневзвешенном значении прогнозов всех моделей в ансамбле. Повышение особенно эффективно, когда базовые модели слабые или имеют большое смещение.
  5. Наложение: этот метод включает иерархическое объединение нескольких моделей, при котором прогнозы базовых моделей используются в качестве входных данных для модели более высокого уровня. Модель более высокого уровня учится комбинировать прогнозы базовых моделей таким образом, чтобы оптимизировать окончательный прогноз. Стекирование особенно эффективно, когда базовые модели разнообразны и дополняют друг друга с точки зрения их сильных и слабых сторон.

Агрегация начальной загрузки

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

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

Случайный лес

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

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

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

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

Оценка вне упаковки

В машинном обучении есть золотое правило: вы никогда не должны тестировать модель на данных, на которых вы ее обучали. Сейчас мы увидим, как РФ придерживается этого.

Допустим, у вас есть набор данных со 100 точками данных, и вы выполняете начальную выборку данных. Даже после того, как вы выполнили выборку несколько раз, есть большая вероятность, что вы коснулись только ~ 70% (на основе математического доказательства) данных. Видите ли, всегда будет ~30% данных, которые останутся нетронутыми и могут быть позже использованы для проверки вашей модели. Эти пропущенные точки данных называются образцами Out-of-Bag. И, наконец, оценка OOB рассчитывается как количество правильно предсказанных точек данных из готовой выборки.