Вопросы по XGBoost - PullRequest
       75

Вопросы по XGBoost

1 голос
/ 06 июня 2019

Я пытаюсь понять алгоритм XGBoost и у меня есть несколько вопросов по нему.

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

param <- list(  objective           =  'reg:linear',
                eta                 = 0.01,
                max_depth           = 7,
                subsample           = 0.7,
                colsample_bytree    = 0.7,
                min_child_weight    =  5
)

Ниже приведены 4 вопроса, которые у меня есть:

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

Однако, для модели gbtree, как XGboost может применять градиент приличный, так как в модели на основе дерева нет коэффициентов для изменения модели. Или есть?

2) Аналогично, модель gbtree использует параметры лямбда для регуляризации L2 и альфа для регуляризации L1. Я понимаю, что регуляризация накладывает некоторые ограничения на коэффициенты, но опять же модель gbtree не имеет коэффициентов. Так, как это может применить ограничения к этому?

3) Какова задача целевой функции. Например, рег: линейный. Из того, что я понимаю, назначение целевой функции только говорит модели, какую метрику оценки использовать. Но тогда для этого есть отдельный параметр eval_metric. Так зачем нам объективная функция?

4) Что такое min_child_weight в простых терминах? Я думал, что это просто минимум нет. наблюдений в листовом узле. Но я думаю, что это как-то связано с гессианскими метриками и т. Д., Которые я не очень хорошо понимаю.

Следовательно, я был бы очень признателен, если бы кто-нибудь мог пролить немного света на эти вопросы в простых и понятных терминах?

...