Как используется параметр "вес" (DMatrix) в процедуре повышения градиента (xgboost)?

В xgboost можно установить параметр weight для DMatrix. Это, по-видимому, список весов, где каждое значение является весом для соответствующего образца. Я не могу найти никакой информации о том, как эти веса фактически используются в процедуре повышения градиента. Связаны ли они с eta?

Например, если бы я установил weight на 0,3 для всех образцов и eta на 1, то это будет таким же, как установка eta до 0,3 и weight до 1?

Ответ 1

xgboost допускает, например, взвешивание при построении DMatrix, как вы отметили. Этот вес напрямую связан с экземпляром и путешествует вместе с ним на протяжении всей тренировки. Таким образом, он включается в вычисления градиентов и hessians, и непосредственно влияет на точки разделения и трассировку модели xgboost.

см. здесь и здесь

Файл весов экземпляров

XGBoost поддерживает предоставление каждому экземпляру веса для дифференциации важность случаев. Например, если мы предоставим экземпляр вес файла для файла train.txt в следующем примере:

train.txt.weight

1

0,5

0,5

1

0,5

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

Он сильно отличается от eta

eta просто сообщает xgboost, насколько сочетается последнее дерево в ансамбле. Мера того, как жадный ансамбль должен быть на каждой итерации.

Например, если бы я установил weight равным 0,3 для всех образцов и etaдо 1, будет ли это соответствовать настройке eta на 0,3 и weight на 1

  • По умолчанию константа weight из 1 для всех экземпляров является значением по умолчанию, поэтому изменение этой константы на .3 для всех экземпляров будет по-прежнему равно взвешивать, поэтому это не должно сильно влиять на вещи. Однако установка eta до 1, от .3 сделает тренировку более агрессивной.