Переобучение_случайного_леса_гиперпараметр

Случайный лес — Настройка гиперпараметров с использованием H2O в R

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

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

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

Чтобы узнать больше о гиперпараметрах и настройке в Random Forest. Этот пост будет охватывать следующее:

  1. Понимание гиперпараметров — что это такое? Чем они отличаются от параметров модели? Почему это предметы первой необходимости?
  2. Понимание параметров настройки случайного леса. Какие доступны различные гиперпараметры и как они влияют на производительность модели и важность переменных. И как реализовать эту настройку гиперпараметров с помощью R h2o.randomforest.

Гиперпараметры — введение

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

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

Параметры модели и гиперпараметры

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

Зачем нужны эти предметы первой необходимости?

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

Читайте также:  Пирог_ягоды_желатин_сметана

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

Понимание параметров настройки случайного леса

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

В приложении Random Forest используется для двух целей:

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

Это различие между двумя целями следует учитывать при настройке гиперпараметров модели.

Изучение влияния гиперпараметров случайного леса

В этом разделе мы изучим влияние различных гиперпараметров случайного леса на эффективность прогнозирования на основе показателя Площадь под кривой (AUC). Мы будем изучать это с помощью тематического исследования и реализации с использованием R H2O.

Для примера мы будем использовать Немецкие кредитные данные, которые состоят из 21 переменной-предиктора и 1000 наблюдений. Переменная ответа — Кредитность, которая объясняет, следует ли предоставлять кредит клиенту на основе его/ее профилей.

Кроме того, чтобы сравнить, как различные гиперпараметры влияют на производительность, ниже приведена базовая модель с параметрами по умолчанию. Модель имеет AUC 0,77, что означает вероятность 77%, что наша базовая модель сможет различать положительный класс и отрицательный класс.

#Baseline Model with default Parameters baseline_model 

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

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

На приведенном ниже графике сравниваются кривые ROC для трех разных моделей, различающихся значениями количества попыток. Модель с mtry 4 (зеленая линия) является моделью по умолчанию с AUC 0,77. Уменьшение значения mtry до 3 увеличило AUC на 0,25%, а увеличение значения mtry до 5 уменьшило AUC на 1,29%.

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

2. Размер образца Bootstrap

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

Чтобы понять, как размер выборки влияет на AUC, мы обучили 4 разные модели с разным размером выборки и сравнили прогностическую эффективность с базовой моделью с размером выборки 0,632. Как видно на приведенном выше графике, при уменьшении размера выборки на 3,2% точность прогноза увеличилась на 1,21%. Тем не менее, размер выборки может быть уменьшен без потери какой-либо точности прогноза. Поэтому значение параметра должно быть установлено оптимально.

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

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

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

Максимальное количество узлов. Этот гиперпараметр тесно связан с максимальной глубиной. Он представляет собой максимальное количество конечных узлов, которое может иметь дерево в лесу. Разумная установка этого параметра может принести пользу в ситуациях, когда дерево сильно переоснащено. В пакете R randomForest можно указать maxnodes.

На приведенном выше рисунке сравнивается изменение AUC при изменении значения максимальной глубины и минимального количества узлов по сравнению с базовой моделью. Очевидно, что по мере уменьшения глубины модели AUC упала до 76,5%. Однако при оптимальном компромиссе между максимальной глубиной и размером узла AUC немного увеличился до 77,7%.

Количество деревьев в лесу — важный параметр случайного леса, который описывает, насколько густым будет лес. В классическом смысле это не настраиваемый параметр, но его следует установить достаточно высоким. Однако добавление деревьев не обязательно приведет к значительному приросту производительности, а только увеличит вычислительные затраты. Поэтому важно проверять производительность модели для растущего числа деревьев, чтобы выбрать оптимальное значение параметра.

Например, на приведенном ниже графике мы сравниваем площадь под кривой для модели, зависящей от параметра количества деревьев в лесу. При увеличении значения ntreesс значения по умолчанию (50) до 500 AUC увеличивается на 2,72 %. Однако дальнейшее увеличение количества деревьевдо 1000 только увеличивает время вычислений без существенного повышения производительности.

Вывод

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

Эта статья — очередная часть серии Случайный лес, если у вас еще не было возможности, прочтите другую статью. Кроме того, если вам нравится моя работа, пожалуйста, не забудьте поаплодировать.

  1. https://riskspan.com/news-insight-blog/tuning-machine-learning-models/
  2. https://datascience.stackexchange.com/questions/14187/какая-есть-разница-между-моделью-гиперпараметрами-и-параметрами-модели
  3. https://stackoverflow.com/questions/34997134/random-forest-tuning-tree-deep-and-number-of-trees
  4. https://stats.stackexchange.com/questions/158583/what-does-node-size-refer-to-in-the-random-forest
  5. Гиперпараметры и стратегии настройки для случайного леса, Филипп Пробст, Марвин Райт и Анн-Лора Булестейкс

Источник

Оцените статью