我正在学习二进制分类器。它使用交叉熵函数作为其损失函数。
但是它为什么要使用日志功能呢?如下使用线性形式怎么样?
使用日志功能有什么好处吗?
还有一个问题:
对数函数将 (0,1) 映射到 (-inf, 0)。所以我认为如果我们为或得到 0,它可以粉碎算法,因为日志值将是 -inf 并且反向传播将被爆炸。
我正在学习二进制分类器。它使用交叉熵函数作为其损失函数。
但是它为什么要使用日志功能呢?如下使用线性形式怎么样?
使用日志功能有什么好处吗?
还有一个问题:
对数函数将 (0,1) 映射到 (-inf, 0)。所以我认为如果我们为或得到 0,它可以粉碎算法,因为日志值将是 -inf 并且反向传播将被爆炸。
对于二进制分类,编码输出概率的一种方法是,如果 y 编码为 0 或 1。这是似然函数,其含义是概率 p 我们输出 0,如果输出为 1,则概率为 1-p。
现在你有一个样本,你想找到最适合你的数据的 p。一种方法是找到最大似然估计量。如果您的观察是独立的,则通过最大化整个样本的可能性来找到您的 mle。这是个体可能性的乘积。但这很难使用。因为那个用对数转换的可能性。转换是单调的,您摆脱产品并获得更易于处理的总和。应用日志并获得您的表达。
为什么不使用您的编码呢?我认为没有理由不这样做。问题是您的估算器有哪些属性?第一个公式使用可能性和 mle,其背后有一些理论,其中包括您的估计器是有效的事实。第二个公式不经常使用,不知道任何编码概率的例子,比如不排除你的方法。
我也在寻找解释,并找到了一个我觉得很直观的原因:
它严重惩罚了自信和错误的预测。
检查此图,它显示了给定真实观察的可能对数损失值的范围:
随着预测概率接近 0(错误预测),Log Loss 迅速增加。