2016-10-25 5 views
2

Я хочу решить проблему регрессии с XGBoost. Меня смущает цель объекта Задачи обучения [default = reg: linear] (XGboost) **, кажется, что для задания функции потерь используется «цель». ** Но я не могу понять «reg: linear», как влияние потери функции. В демоверсии логистической регрессии (XGBoost logistic regression demo) объектная = двоичная: функция потерь в логистике представляет собой функцию логистической потери. Так что «объектив = рег: линейный» соответствует функции потерь?XGBoost: Что такое параметр «цель»?

ответ

2

«Объектив = рег: линейный» соответствует функции потерь?

Squared ошибка

Вы посмотрите на функции потерь (которые основаны на градиенте и мешковины) как для логистической регрессии и линейной регрессии здесь

https://github.com/dmlc/xgboost/blob/master/src/objective/regression_obj.cc

может Обратите внимание, что функции потерь достаточно похожи. Только что SecondOrderGradient константа в квадрате потери

// common regressions 
// linear regression 
struct LinearSquareLoss { 
    static float PredTransform(float x) { return x; } 
    static bool CheckLabel(float x) { return true; } 
    static float FirstOrderGradient(float predt, float label) { return predt - label; } 
    static float SecondOrderGradient(float predt, float label) { return 1.0f; } 
    static float ProbToMargin(float base_score) { return base_score; } 
    static const char* LabelErrorMsg() { return ""; } 
    static const char* DefaultEvalMetric() { return "rmse"; } 
}; 
// logistic loss for probability regression task 
struct LogisticRegression { 
    static float PredTransform(float x) { return common::Sigmoid(x); } 
    static bool CheckLabel(float x) { return x >= 0.0f && x <= 1.0f; } 
    static float FirstOrderGradient(float predt, float label) { return predt - label; } 
    static float SecondOrderGradient(float predt, float label) { 
    const float eps = 1e-16f; 
    return std::max(predt * (1.0f - predt), eps); 
    } 

авторы упоминают это здесь https://github.com/dmlc/xgboost/tree/master/demo/regression

Смежные вопросы