为什么二进制分类对数损失公式没有明确表明正在使用自然对数?

数据挖掘 分类 机器学习模型 损失函数
2022-03-05 16:16:23

我正在完成一门 DataCamp 课程,向我们介绍了二进制分类的对数损失公式:

二进制分类的对数损失公式

给出了两个场景来说明如何使用该公式。一个 p=0.1,一个 p=0.5。教师给出的答案分别为 2.3 和 0.69。但是,使用计算器,log(0.1) 和 log(0.5) 的答案分别为 -1 和 -0.30。后来我尝试改用自然对数,得到了和导师一样的答案,除了否定。具体来说,计算器为 ln(0.1) 返回 -2.3,为 ln(0.5) 返回 -0.69。

在数学中,log 暗示为“ln”或“log e”而不在公式中明确说明是否很常见?另外,对数损失二进制分类公式有什么建议应该取结果的绝对值吗?

1个回答

这归结为基数变化公式对于任意两个数ab,以下等式成立。

loga(x)=logb(x)logb(a).

这意味着误差是成比例的因此,如果您想更改为使用log10,您最终会简单地乘以一个常数因子,并且模型选择将是相同的。

明确地说,

logloss(N=1)=ylog10(p)+(1y)log10(p)log10(e)

或者,等效地

logloss(N=1)log10(e)=ylog10(p)+(1y)log10(p)


换句话说:对数的底数无关紧要,因为一切最终都是成比例的。