【发布时间】:2020-08-07 22:20:00
【问题描述】:
我正在使用 catboost 制作一个多类预测模型,最终的解决方案应该具有最小的 Logloss 误差,但在 catboost 中不存在 Logloss,它们有一个叫做“Multiclass”的东西作为损失函数。他们都一样吗?如果不是,那么如何根据 Logloss 衡量 catboost 模型的准确性?
【问题讨论】:
标签: machine-learning loss-function catboost
我正在使用 catboost 制作一个多类预测模型,最终的解决方案应该具有最小的 Logloss 误差,但在 catboost 中不存在 Logloss,它们有一个叫做“Multiclass”的东西作为损失函数。他们都一样吗?如果不是,那么如何根据 Logloss 衡量 catboost 模型的准确性?
【问题讨论】:
标签: machine-learning loss-function catboost
他们都一样吗?实际上,是的...
'MultiClass' 损失的 catboost 文档describe the calculation 通常被认为是多项/多类交叉熵损失。也就是说,将 Log Softmax 应用于分类器输出“a”以产生可以解释为概率的值,然后应用负对数似然损失 (NLLLoss),wiki1 & wiki2。
他们的文档describe the calculation 也是“LogLoss”,这也是 NLLLoss,但适用于“p”。他们将here 描述为将 sigmoid fn 应用于分类器输出的结果。由于 NLLLoss 是针对二元问题重新设计的,因此只计算单个类概率,对每个类使用“p”和“1-p”。而在这种特殊的(二进制)情况下,sigmoid 和 softmax 的使用是等价的。
如何根据 Logloss 衡量 catboost 模型?
他们describe a method 为给定数据生成所需的指标。
注意不要将损失/目标函数“loss_function”与评估指标“eval_metric”混淆,但是在这种情况下,可以将相同的函数用于两者,as listed in their supported metrics。
希望这会有所帮助!
【讨论】:
对数损失不是损失函数,而是衡量分类模型性能的指标,其中预测是介于 0 和 1 之间的概率值。 了解更多here。
【讨论】: