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

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

Вот простой пример дерева решений: согласно рисунку ниже, подходите вы или нет?

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

Деревья решений могут вырастить много ветвей, пока каждое расщепление не станет настолько чистым, насколько это возможно. (Чистота каждого узла количественно оценивается с помощью примеси Джини.) Если дереву позволяют расти до тех пор, пока каждый листовой узел не станет совершенно чистым, то эти деревья могут расти и расти, пока они не будут больше похожи на люстры, чем на деревья.

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

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

Деревья решений с пакетами получили свое название от "B ootstrap AG gregating". Бутстрапирование - это практика случайной выборки с заменой. В науке о данных бутстрэппинг используется во многих различных контекстах, но здесь мы выполняем самозагрузку, чтобы создавать больше деревьев.

На приведенном выше рисунке вы можете представить полосу слева (с 4 блоками разного цвета) как исходный образец. Если мы начнем или произвольно выполним выборку с заменой из исходной выборки на новую выборку того же размера, мы можем получить верхнюю панель справа. Обратите внимание, что первый образец начальной загрузки похож на исходный, но не совсем такой же. Затем мы повторяем этот процесс начальной загрузки n раз, произвольно выполняя выборку с заменой каждый раз из исходной выборки, в результате чего получаем n загрузочных выборок .

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

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

Фактически, дополнительное разнообразие деревьев в случайных лесах происходит из-за того, как каждое дерево строится из его загруженной выборки. В пакетных деревьях решений все признаки учитываются при построении ветвей каждого дерева, тогда как в случайных лесах при построении ветвей каждого дерева учитывается только случайное подмножество признаков. Этот процесс, называемый методом случайного подпространства, приводит к уменьшению переобучения каждого дерева, тем самым уменьшая ошибку из-за дисперсии в модели.

Я надеюсь, что это краткое описание случайных лесов даст вам некоторое фундаментальное представление о модели и вдохновит на дальнейшие исследования!