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

Случайные леса — это управляемый ансамблевый алгоритм обучения, основанный на деревьях решений. Если какие-либо из этих терминов вам незнакомы, не паникуйте! Эта статья, первая в серии из двух, проведет вас через простое, ясное и подробное объяснение всех концепций, связанных с созданием случайных лесов.

ЧТО ТАКОЕ АНСАМБЕЛЬНОЕ ОБУЧЕНИЕ?

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

Каждому ученику в классе стандартного размера дается одна и та же сложная математическая задача, и каждому ученику предлагается решить математическую задачу индивидуально. Некоторые учащиеся заканчивают сразу, некоторым требуется очень много времени, и каждое сданное решение имеет разную степень правильности.

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

Аналогичным образом работает ансамблевое обучение. Объединив «интеллектуальную мощь» нескольких алгоритмов, мы с гораздо большей вероятностью создадим эффективную и надежную модель.

ИЗ КАКИХ ДЕРЕВЬЕВ СОСТАВЛЯЕТСЯ ЛЕС?

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

Проще говоря: Дерево решений задает «вопрос», а затем классифицирует «человека» на основе его ответа. Рассмотрим изображение ниже. Это пример простого дерева решений, которое поможет вам решить, что вы должны делать в течение дня.

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

Если человек отвечает «нет», ему нечего делать, то дерево направляет его ко второму вопросу «Перспектива», спрашивая о текущей погоде. Этот второй вопрос называется внутренний узел. Внутренние узлы имеют линии, идущие к ним и от них. Все незаштрихованные прямоугольники в приведенном выше примере являются внутренними узлами.

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

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

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

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

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

И вот оно, Деревья решений!

И ТЕПЕРЬ... МОМЕНТ, КОТОРЫЙ ВЫ ЖДАЛИ... АЛГОРИТМ RANDOM FOREST!

Как указывалось ранее, случайные леса — это контролируемый ансамблевый алгоритм обучения, основанный на деревьях решений. Алгоритм Random Forest состоит из множества деревьев решений и использует рандомизацию признаков при построении каждого отдельного дерева. Это создает некоррелированный лес деревьев, предсказание которого комитетом является более точным, чем предсказание любых отдельных деревьев.

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

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

Шаги алгоритма случайного леса для классификации можно описать следующим образом.

  1. Выберите случайные выборки из набора данных, используя агрегирование начальной загрузки.
  2. Создайте дерево решений для каждой выборки и сохраните результаты прогнозирования из каждого дерева.
  3. Подсчитайте голосование для каждого предсказанного результата.
  4. Определите, какой прогнозируемый результат наберет наибольшее количество голосов. Это станет вашим окончательным прогнозом.

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

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

И вот оно! Случайные леса. Оставайтесь с нами для части 2, где мы построим нашу собственную модель классификации, используя алгоритм случайного леса.