【问题标题】:Is the loss function='Multiclass' in catboost same as log loss if I am doing a multiclassification problem?如果我在做一个多分类问题,catboost 中的损失函数 ='Multiclass' 是否与日志损失相同?
【发布时间】:2020-08-07 22:20:00
【问题描述】:

我正在使用 catboost 制作一个多类预测模型,最终的解决方案应该具有最小的 Logloss 误差,但在 catboost 中不存在 Logloss,它们有一个叫做“Multiclass”的东西作为损失函数。他们都一样吗?如果不是,那么如何根据 Logloss 衡量 catboost 模型的准确性?

【问题讨论】:

    标签: machine-learning loss-function catboost


    【解决方案1】:

    他们都一样吗?实际上,是的...

    '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

    希望这会有所帮助!

    【讨论】:

    • 感谢您的详细解释,这有帮助! @OP 请考虑选择这个作为答案!
    【解决方案2】:

    对数损失不是损失函数,而是衡量分类模型性能的指标,其中预测是介于 0 和 1 之间的概率值。 了解更多here

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 2018-10-27
    • 2019-10-08
    • 2017-06-18
    • 2020-01-03
    • 2020-10-05
    • 2019-03-16
    • 2019-03-08
    相关资源
    最近更新 更多