什么是好的日志丢失?


Answers:


19

对数损失仅为,其中p仅是归因于真实类的概率。L(pi)=log(pi)p

因此是好的,我们将概率1归因于右类,而L p = + L(p)=01L(p)=+是坏的,因为我们将概率归因于实际类别。0

所以,回答你的问题,意味着,平均,你归因于正确的类的概率p 0.61样品间。L(p)=0.5p0.61

现在,确定这是否足够好实际上取决于应用程序,因此这取决于参数。


9

像任何度量标准一样,如果您必须在没有观测信息的情况下进行猜测,那么好的度量标准就是比“哑巴”偶然的猜测更好的度量标准。这在统计信息中称为仅拦截模型。

这种“愚蠢”的猜测取决于两个因素:

  1. 班数
  2. 类的平衡:它们在观测数据集中的普遍性

在LogLoss度量的情况下,一种通常的“众所周知的”度量是说0.693是非信息性值。该图是通过预测p = 0.5任何类别的二进制问题而获得的。这仅对平衡的二进制问题有效。因为当一个类别的患病率为10%时,您将p =0.1始终为该类别进行预测。这将是您哑巴,偶然机会预测的基准,因为预测0.5将是哑巴的。

I. 班级数量对N哑哑记录的影响:

在平衡的情况下(每个类的患病率都相同),当您p = prevalence = 1 / N为每个观察值进行预测时,方程变为:

Logloss = -log(1 / N)

logLn使用该约定的人的尼泊尔对数。

在二进制情况下N = 2Logloss = - log(1/2) = 0.693

因此,愚蠢的Logloss如下:

dumb-logloss depending of number of classes - balanced case

二。班级盛行对哑巴洛格洛斯的影响:

一种。二进制分类案例

在这种情况下,我们始终预测p(i) = prevalence(i),并获得下表:

binary classification logloss, balanced - table

因此,当类非常不平衡时(患病率<2%),对数损失0.1实际上可能非常糟糕!在这种情况下,例如98%的精度将是不好的。因此,也许Logloss并不是使用的最佳指标

binary classification logloss, unbalanced - chart

b。三类情况

取决于流行程度的“哑”对数损失-三类情况:

three-class classification logloss, unbalanced

我们可以在这里看到平衡的二进制和三类情况(0.69和1.1)的值。

结论

在多类问题中,对数损失为0.69可能是好的,而在二进制有偏的情况下,则很不好。

根据您的情况,您最好自己计算问题的基准,以检查预测的含义。

在有偏见的情况下,我知道对数损失与精度和其他损失函数存在相同的问题:它仅提供对绩效的整体衡量。因此,您最好使用针对少数类(召回率和精度)的指标来补充您的理解,或者根本不使用对数丢失。


(+1)欢迎来到简历!您可以在帖子中使用数学排版。更多信息:math.meta.stackexchange.com/questions/5020/...
Sycorax说恢复莫妮卡

比我的回答好,+ 1
Firebug,

5

因此,这实际上比Firebugs响应要复杂得多,这全都取决于您尝试预测的过程的内在变化。

当我说变异时,我的意思是“如果一个事件要在完全相同的条件下(已知和未知)重复发生,则相同结果再次发生的可能性是多少”。

完美的预测变量的概率为P:损失= P ln P +(1-P)ln(1-P)

如果您试图预测某些情况,在更坏的情况下,可以预测某些事件的结果为50/50,那么通过积分并取平均值,平均损失将为:L = 0.5

如果您要预测的是可重复的点,那么完美模型的损失会更低。因此,例如,假设有了足够的信息,一个完美的模型就能够预测一个事件的结果,其中在所有可能的事件中,最坏的说法是“此事件将以90%的概率发生”,那么平均损失将为L = 0.18 。

如果概率分布不均匀,也存在差异。

因此,在回答您的问题时,答案是“这取决于您要预测的内容的性质”


这是众所周知的 大号0.693是非信息性对数损失(随机猜测)。我并没有真正按照您的计算,您是否假设p或类似的东西?
Firebug

假设您有一个系统,在其中了解有关其当前状态的所有可能信息。想象一下,系统具有一定的内部随机性,因此,在给出有关其状态的所有参数后,结果可能会有所不同。例如,在此系统中,它的范围可以是0-10%。将获得一个完美的模型(即,其性能仅受固有变化限制的模型)大号0.18。为了进行比较,0-100%的系统将达到最佳状态大号0.5
simeon

1
我不同意你的情况。我只是说“好的结果”取决于系统。0.4可能表示某些系统(如后一示例)的好结果或不好的结果(对于前一示例)。
simeon

0

我会说标准的统计答案是将其与仅拦截模型进行比较。(这处理了其他答案中提到的不平衡类),参见mcFadden的伪r ^ 2。 https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/

现在的问题是最大值是多少。从根本上讲,问题在于事件的概率在事件模型之外是不确定的。我建议的方式是,将测试数据汇总到一定水平,以获取概率估计值。然后计算该估计值的对数损失。

例如,您要基于(web_site,ad_id,consumer_id)预测点击率,然后将点击次数,展示次数汇总到例如web_site级别,并在每个网站的测试集上计算点击率。然后使用这些测试点击率作为预测来计算测试数据集的log_loss。这是仅使用网站ID的模型对测试集的最佳对数损失。问题是,我们可以通过添加更多功能,直到每条记录被唯一标识,来使损失降到我们想要的程度。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.