Понятия, которые вы должны знать для интервью по науке о данных — часть IV. Случайный лес

Наиболее часто задаваемые вопросы в интервью специалистам по данным

Это четвертая статья в серии интервью. Я надеюсь, что эта серия станет централизованной отправной точкой для начинающих специалистов по данным в плане подготовки к интервью. До сих пор мы говорили о следующих понятиях:

  1. Часть I: Распространение
  2. "Часть II. Вероятность"
  3. Часть третья. Основные модели контролируемого обучения

В этой статье я хочу продолжить знакомство с машинным обучением и рассказать о продвинутых моделях контролируемого обучения. В частности, я сосредоточусь на случайном лесу, так как он, вероятно, наиболее часто используется и чаще всего задается в интервью DS среди более сложных/продвинутых моделей машинного обучения. На самом деле, меня спросили о Random Forest в моем интервью с McKinsey как специалиста по данным; умение объяснить алгоритм на высоком уровне и интуитивно точно поможет вам выделиться среди остальных собеседников, если в ваших интервью есть компонент моделирования.

Что такое случайный лес

О модели CART мы говорили в предыдущей статье. Напоминаем, что CART означает дерево классификации и регрессии; а Random Forest, ну, это лес. Описательное соглашение об именах показывает четкую связь между ними — случайный лес состоит из нескольких деревьев решений.

Случайный лес — это метод ансамбля (методы ансамбля — это категория методов машинного обучения, которые объединяют несколько алгоритмов обучения для получения лучших результатов, достигая эффекта 1+1›2), использующий несколько деревьев, чтобы избежать переобучения (деревья решений склонны к ошибкам). переобучение). Представьте, что каждое дерево в лесу дает голос и имеет право голоса в окончательном решении всей модели; окончательное решение/предсказание достигается за счет того, что лес принимает большинство голосов.

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

Здесь небольшое отступление, так как мы говорим о «бэггинге». «Повышение» — еще один метод, обычно используемый в моделях машинного обучения; на самом деле деревья принятия решений с градиентным усилением — это высокопроизводительный двоюродный брат в семействе деревьев решений. Я упоминаю об этом, потому что "бэггинг" и "прокачка" часто сравнивают; В разных интервью меня спрашивали о различиях между ними. Что особенного в «поощрении», так это то, что оно может улучшить слабых учеников. В отличие от «бэггинга», при котором деревья строятся параллельно и по отдельности, процесс «бустинга» строит деревья последовательно; поэтому каждое дерево может «учиться» на ошибках предыдущего и совершенствоваться.

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

Вернемся к Рандомному лесу. Если вы помните, о чем мы говорили в предыдущей статье, самым большим преимуществом CART, возможно, является его интерпретируемость. Несмотря на то, что случайный лес обычно является улучшением CART с точки зрения производительности (особенно на тестовых наборах, поскольку он менее подвержен переобучению), он в некоторой степени жертвует интерпретируемостью в процессе. По мере роста количества деревьев будет все труднее и труднее построить каждое дерево и увидеть функции, которые они использовали при разделении данных; таким образом, становится все труднее понять, как именно было построено каждое дерево. Но все же можно построить график важности признаков (по деревьям в лесу). Большинство пакетов случайного леса поставляются с таким сюжетом, к которому легко получить доступ.

Как они проверяются и на что обращать внимание

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



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

Небольшой совет в конце: лучшая аудитория для практики вашего интуитивного объяснения алгоритмов машинного обучения — это друзья, которые не занимаются аналитикой; вы можете быстро сказать, имеет ли смысл ваше описание алгоритма.

Хотите узнать больше о карьерных советах по науке о данных? У меня может быть кое-что для вас: