не смог найти внятного ответа. Либо это какая-то супер очевидная вещь, поэтому нигде даже не акцентируется на этом внимание, либо никто кроме меня этим вопросом не задается (ставлю, конечно, на первое). Либо не так ищу
Подскажите пожалуйста, в чем идея применения к базовым алгоритмам (деревьям) в ансамблевых методах одинаковых гиперпараметров-ограничений (max_depth, max_leaf_nodes, max_features и т.д.). Почему, например, в градиентном бустинге я на n-ой итерации не могу построить дерево глубиной 5, а на n+1-ой глубиной 10, если сами базовые алгоритмы предлагается строить независимо? Я могу использовать GridSearchCV для перебора значений геперпараметра в некотором диапазоне ('max_depth': [3,4,5]), но в каждом случае этот гиперпараметр будет применяться к каждому дереву в цепочке, вместо того, чтобы осуществить перебор в момент построение дерева на очередной итерации
можно изменять гиперпараметры в ходе обучения https://github.com/microsoft/LightGBM/blob/master/examples/python-guide/advanced_example.py#L126
А есть рисерч на тему, даёт ли это какой-то профит в скоре? (Или хотя бы в скорости обучения с примерно одинаковым скором). Года два назад пробовал разные варианты, но простые стратегии ничего не давали.
да и не ж должны? теоретически. ну там ёмкость модели какая есть такая есть. сам процесс обучения может ну может ну совсем чуть немного скора добавить
ресерча не было, были программные реализации. да, эта штука работает.
А какие стратегии лучше всего? Какие параметры шэдулить?
Спасибо за ответ! Забавный подход (я бы даже сказал немного костыльный). Действительно стало теперь интересно математическое обоснование реализованной в бустинговых библиотеках унификации базовых моделей. Пока для меня ответ (не ваш, а разработчика) выглядит как "ну такой дизайн" :)
Обсуждают сегодня