我现在对 中使用的损失函数感到困惑XGBoost
。以下是我感到困惑的地方:
- 我们有
objective
,这是需要最小化的损失函数;eval_metric
:用于表示学习结果的度量。这两者完全不相关(如果我们不考虑仅用于分类logloss
并且mlogloss
可以用作eval_metric
)。这个对吗?如果我是,那么对于分类问题,您如何将rmse
其用作性能指标? - 以两个选项
objective
为例,reg:logistic
和binary:logistic
。对于 0/1 分类,通常应该将二元逻辑损失或交叉熵视为损失函数,对吗?那么这两个选项中的哪一个是针对这个损失函数的,另一个的值是多少呢?说,如果binary:logistic
代表交叉熵损失函数,那么reg:logistic
做什么呢? multi:softmax
和有什么区别multi:softprob
?他们是否使用相同的损失函数,只是输出格式不同?如果是这样,那也应该是一样的reg:logistic
,binary:logistic
对吧?
第二题的补充
比如说,0/1 分类问题的损失函数应该是
L = sum(y_i*log(P_i)+(1-y_i)*log(P_i))
. 所以如果我需要在binary:logistic
这里选择,还是reg:logistic
让xgboost分类器使用L
损失函数。如果是binary:logistic
,那么使用什么损失函数reg:logistic
?