Brakaziabr

На Пикабу
Дата рождения: 10 мая
99 рейтинг 0 подписчиков 6 подписок 1 пост 0 в горячем
Награды:
5 лет на Пикабу
1

XGBoost Tree Ensemble Learner в реализации Knime

Описание настроек Booster.

Eta

Также известен как скорость обучения (learning rate). Размер шага используется при обучении модели в целях предотвращения переобучения. Меньшее значение Eta приводит к более консервативному процессу усиления модели. Эта настройка позволяет более точно контролировать процесс обучения, предотвращая переобучение, но может замедлять скорость обучения.

Lambda

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

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

Alpha

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

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

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

Установка значения Alpha = 1 означает, что L1-регуляризация будет использоваться в максимально возможной степени, что приведет к обнулению весов большинства признаков и оставлению только наиболее важных.

Gamma

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

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

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

Maximum delta step

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

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

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

Booster

Выберите один из двух типов бустеров: дерево или DART.

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

DART (Dropout Additive Regression Trees) также использует градиентный бустинг над деревьями решений для создания ансамбля моделей, но в нем добавлен механизм отсева узлов деревьев (dropout). Это помогает регулировать модель и предотвращать переобучение, что может быть особенно полезно при работе с большим количеством деревьев в композиции.

Maximum depth

Максимальная глубина дерева. Увеличение этого значения сделает модель более сложной и более склонной к переобучению. Значение 0 означает, что нет ограничений на глубину. Обратите внимание, что ограничение необходимо, когда grow_policy установлен на "depthwise".

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

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

Minimum child weight

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

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

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

Tree method

Алгоритм построения деревьев, используемый в XGBoost. Может быть одним из следующих:

Auto: Использовать эвристику для выбора самого быстрого метода.

Exact: Точный жадный алгоритм.

Approx: Приблизительный жадный алгоритм с использованием квантильного скетча и гистограммы градиентов.

Hist: Быстрый, оптимизированный приблизительный жадный алгоритм с использованием гистограммы. Он использует некоторые улучшения производительности, такие как кэширование бинов.

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

Точный жадный алгоритм ("exact") может быть использован, если количество признаков относительно небольшое, но может стать неэффективным, когда количество признаков слишком велико.

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

Метод "hist" использует гистограмму градиентов и некоторые оптимизации для более быстрого и точного построения деревьев на больших данных с большим количеством признаков.

Sketch Epsilon

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

Этот параметр определяет точность квантильного скетча, который используется для сокращения количества точек на расчете градиента в алгоритме приблизительного построения дерева. Чем меньше значение Sketch Epsilon, тем более точным будет приближение расчета градиента, и тем более точными будут результаты выбора разделения для дерева.

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

Scale Positive Weight

Контролирует баланс положительных и отрицательных весов, что является полезным для задач с несбалансированными классами. Типичное значение для рассмотрения: сумма весов отрицательных экземпляров / сумма весов положительных экземпляров.

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

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

Drop at Least One Tree

Относится только к методу DART. При включении этого флага гарантируется, что хотя бы одно дерево всегда будет отброшено в процессе отключения. В методе DART (Dropout Additive Regression Trees) каждое дерево обучается на случайном подмножестве объектов и случайном подмножестве признаков. Затем, чтобы уменьшить эффект переобучения, некоторые деревья и их веса случайным образом отключаются. Параметр Drop at Least One Tree предотвращает ситуацию, когда все деревья отключаются и модель не может принимать решения.

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

Grow Policy

Определяет способ добавления новых узлов в деревья. В настоящее время поддерживается только для метода построения деревьев hist. Этот параметр может принимать одно из двух значений:

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

2. Lossguide (по потерям): Разбиение происходит в узлах с наибольшим изменением потерь. Этот подход к построению деревьев более сложный, так как он использует информацию о потерях для принятия решения, когда добавлять новые узлы. Он может привести к более точным моделям, особенно если требуется дерево большой глубины.

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

Maximum Number of Leaves

Максимально возможное количество листьев, которые могут быть добавлены в дерево. Этот параметр является важным для метода построения деревьев hist, при использовании подхода Lossguide.

Параметр Maximum Number of Leaves определяет максимально возможное количество узлов, которые могут быть добавлены в дерево в процессе обучения. Если число узлов превышает значение этого параметра, процесс разделения прекращается. Это может привести к более простым и менее переобученным моделям, так как модель может быстрее закончить обучение.

Параметр Maximum Number of Leaves релевантен только для метода построения деревьев hist с подходом Lossguide. Он помогает управлять сложностью деревьев в зависимости от требований к точности и времени обучения модели.

Maximum Number of Bins

Параметр, используемый только для метода построения деревьев hist. Максимальное количество дискретных корзин (bins), для размещения непрерывных признаков (continuous features) в них.

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

Параметр Maximum Number of Bins важен для управления балансом между качеством модели и временем обучения. Оптимальный размер зависит от специфики данных и желаемой точности модели, поэтому его следует подбирать оптимальным образом.

Sample Type

Тип выборки. Этот параметр относится только к бустинг-алгоритму DART. Параметр Sample Type задает стратегию выборки деревьев, которые будут "исключены" (dropped) из ансамбля на каждой итерации обучения.

Доступны два варианта выборки:

1. Uniform (равномерная выборка): деревья исключаются из ансамбля равномерно, без учета их веса. Деревья выбираются случайным образом с одинаковой вероятностью. Этот вариант выборки может быть полезен для защиты от переобучения.

2. Weighted (взвешенная выборка): деревья исключаются из ансамбля с учетом их веса. Деревья с более высоким весом имеют более высокую вероятность быть выбранными для удаления. Этот вариант выборки может быть полезен, если некоторые деревья (например, более слабые) нужно удалить из ансамбля с большей вероятностью.

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

Normalize Type

Тип нормализации. Этот параметр относится только к бустинг-алгоритму DART. Параметр Normalize Type задает стратегию нормализации весов деревьев, используемых в ансамбле после их удаления на каждой итерации обучения.

Доступны два варианта нормализации:

1. Tree (нормализация для дерева): веса новых деревьев будут равны 1/(k+eta), где k - это количество исключенных из ансамбля деревьев на текущей итерации обучения, а eta - гиперпараметр, задающий уровень регуляризации, и нормализация мыслится для дерева. Веса удаленных деревьев будут масштабированы по формуле k/(k+eta).

2. Forest (нормализация для леса): веса новых деревьев будут равны 1/(1+eta), а веса удаленных деревьев будут масштабированы по формуле 1/(1+eta), где eta - гиперпараметр, задающий уровень регуляризации. Этот вариант нормализации рассчитывает веса для суммы исключенных деревьев, а затем нормализует новые деревья и сумму исключенных деревьев одновременно.

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

Dropout Rate

Уровень Dropout. Этот параметр относится только к бустинг-алгоритму DART. Уровень Dropout задает долю деревьев из предыдущих итераций обучения, которые будут исключены из ансамбля на текущей итерации.

Dropout является частью регуляризации и позволяет бороться с переобучением. Значение параметра указывается в долях (от 0 до 1). Увеличение уровня Dropout приводит к более устойчивой модели, но может ухудшить качество предсказания на тестовой выборке.

Рекомендуется использовать значение по умолчанию (0), если нет причин уверенно изменять его значение на основании опыта или данных. Если модель переобучается, можно попробовать увеличить значение Dropout Rate.

Drop at Least One Tree

Сбрасывать хотя бы одно дерево. Этот флаг относится только к бустинг-алгоритму DART. Если он включен, то при применении Dropout на каждой итерации обучения алгоритм всегда исключает хотя бы одно дерево из ансамбля, даже если для текущей итерации Dropout Rate равно 0.

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

Значение параметра по умолчанию равно False, то есть принудительное исключение дерева не производится. Если включить опцию "Drop at least one tree", Dropout всегда будет сбрасывать хотя бы одно дерево на каждой итерации.

Skip Dropout Rate

Пропустить коэффициент отсева. Этот параметр относится только к бустинг-алгоритму DART. Он представляет собой вероятность пропуска процедуры отсева (dropout) на каждой итерации обучения алгоритма. Если отсев (dropout) пропущен, новые деревья добавляются в ансамбль так же, как и при использовании стандартного бустинга со случайными лесами (vanilla tree booster). Важно отметить, что ненулевой коэффициент пропуска имеет более высокий приоритет, чем флаг "принудительный отказ хотя бы от одного дерева" (drop at least one tree).

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

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

Subsampling Rate

Коэффициент субдискретизации. Этот параметр определяет долю обучающих объектов, используемых для каждой итерации бустинга XGBoost. Если, например, установить значение параметра subsample равным 0.5, то на каждой итерации бустинга XGBoost будет использоваться случайная подвыборка, состоящая из 50% обучающих объектов. Это равносильно применению метода бэггинга (bagging) и может помочь уменьшить переобучение модели. Процедура субдискретизации будет выполняться на каждой итерации бустинга.

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

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

Значение параметра по умолчанию равно 1, что означает использование всех доступных обучающих объектов. Обычно рекомендуются значения параметра subsample от 0.5 до 1.

Column Sampling Rate by Tree

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

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

Column Sampling Rate by Node

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

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

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

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества