h2o GBM ранняя остановка

Я пытаюсь переоборудовать GBM с помощью H2O (я знаю, что это странно, но мне нужно это подчеркнуть). Поэтому я увеличил max_depth моих деревьев и усадку и отключил критерий остановки:

overfit <- h2o.gbm(y=response
                  , training_frame = tapp.hex
                  , ntrees = 100 
                  , max_depth = 30 
                  , learn_rate = 0.1 
                  , distribution = "gaussian"
                  , stopping_rounds = 0
                  , distribution = "gaussian"
                  )

Переобучение отлично работает, но я заметил, что ошибка обучения не улучшается после 64-го дерева. Ты знаешь почему ? Если я достаточно хорошо понимаю концепцию повышения, ошибка обучения должна сходиться к 0 по мере увеличения количества деревьев.

Информация о моих данных: Около 1 миллиона наблюдений 10 переменных Переменная ответа является количественной.

Хорошего дня !


person M. DL    schedule 12.10.2017    source источник
comment
Как узнать, сколько деревьев было подогнано?   -  person Max    schedule 11.05.2019


Ответы (2)


Вы пробовали понизить параметр min_split_improvement? Значение по умолчанию 1e-5 уже микроскопично, но актуально при наличии миллиона строк. Полагаю, все деревья после 64-го (в вашем примере) будут тривиальными?

person Andreas Holzhammer    schedule 12.10.2017

Если скорость обучения 0,1 вам не подходит, я бы рекомендовал уменьшить скорость обучения до 0,01 или 0,001. Хотя вы заявляете, что ошибка обучения перестает уменьшаться после дерева 64, я все же рекомендую попытаться добавить больше деревьев, по крайней мере, 1000-5000, особенно если вы попробуете более медленную скорость обучения.

person Erin LeDell    schedule 12.10.2017
comment
Спасибо за ваш ответ. Да, я пробовал, но это то же самое, только с другими деревьями. Ошибка обучения со временем перестает уменьшаться, и я не знаю почему. - person M. DL; 12.10.2017