Как найти оптимальные значения параметров настройки в бустинге деревьев?


9

Я понимаю, что в модели деревьев повышения есть 3 параметра настройки, т.е.

  1. количество деревьев (количество итераций)
  2. параметр усадки
  3. количество разбиений (размер каждого составляющего дерева)

У меня вопрос: для каждого из параметров настройки, как мне найти его оптимальное значение? А какой метод?

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

Я особенно заинтересован в методе, чтобы найти оптимальное значение для числа разделений. Должно ли оно основываться на перекрестной проверке или знании предметной области модели?

И как эти вещи осуществляются в gbmпакете в R?

Ответы:


6

Пакет каретки в R сделан специально для этого.

Его функция train принимает сетку значений параметров и оценивает производительность, используя различные варианты перекрестной проверки или начальной загрузки. Автором пакета написана книга « Прикладное прогнозное моделирование» , которая настоятельно рекомендуется. 5 повторов 10-кратной перекрестной проверки используются на протяжении всей книги.

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

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


Книга также содержит код R?
user1769197

Я имею в виду проработанный пример, который включает R-код, чтобы мы понимали, как модели реализованы в вычислительном отношении и применены к набору данных
user1769197

1
Да, это так. Зайдите на веб-страницу книги applypredictivemodeling.com для получения дополнительной информации.
ErikL

1

Есть два хороших источника для расширенных деревьев регрессии и пакета gbm. Для объяснения BRT и оптимизации количества деревьев ( nt), скорости обучения ( lr) и сложности дерева ( tc) см . Рабочее руководство по ускоренным деревьям регрессии. Хотя оно сосредоточено на экологии, я думаю, что вы не найдете лучшего введения в BRT ,

Для реализации BRT в пакете gbm см. Деревья ускоренной регрессии для экологического моделирования.

Короче говоря, эмпирическое правило состоит в том, чтобы выбрать скорость обучения, которая позволяет модели BRT соответствовать как минимум 1000 деревьев, поэтому, вероятно, вам потребуется низкая скорость обучения, возможно, 0,001, чтобы выполнить это. Но это зависит от размера ваших данных, см. Рис. 2 и 3 в Рабочем руководстве по BRT. Я думаю, что одним из возможных способов было бы настроить разные модели в BRT в соответствии с вашим размером данных, например, объединить разные lr (0.1, 0.01, 0.001), tc (1, 3, 5, 7, 9, 20) с разными сумками. .fractions (0,5, 0,7, 0,9) и выберите лучший в соответствии с наименьшим отклонением или наибольшим значением ROC. Может быть, это помогло.


1
Для справки BRT_MODEL$self.statistics$correlation[[1]]- это корреляция тестирования с данными обучения, которая является хорошим показателем теста.
dez93_2000

звучит как статистический дизайн эксперимента для меня. : P
EngrStudent
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.