我在阅读这篇 文章时遇到了这句话“交叉熵是用于二进制分类问题的默认损失函数。”
但是它如何使它成为二元分类的默认损失函数,并且可能是最好的损失函数?
我在阅读这篇 文章时遇到了这句话“交叉熵是用于二进制分类问题的默认损失函数。”
但是它如何使它成为二元分类的默认损失函数,并且可能是最好的损失函数?
正如博客中提到的,使用交叉熵是因为它相当于使用最大似然估计来拟合模型。另一方面,这可以解释为最小化训练数据的经验分布与模型引起的分布之间的差异(测量为Kullback-Leibler 散度,因此称为交叉熵)。
现在你可能会问为什么要最大化可能性。最大似然估计量具有很好的渐近特性(它们是收敛速度最好的估计量),它们是一致的并且具有统计效率。
另一个优点是您无需考虑如何定义成本函数。只要您有一个模型,ML 框架就会立即为您提供成本函数.
此外,与例如随机森林相比,直接优化交叉熵自然会导致良好校准的概率。这意味着您可以按预期解释结果概率,即在所有预测概率约为 x% 的案例中,x% 应该属于正类。
还有一点很重要。鉴于基于梯度的学习算法(尤其是在深度学习中)的流行,交叉熵中的对数将抵消通常通过流行的激活/输出单元(如 sigmoid/softmax)给出的任何指数行为。因此,对数将避免极端值的梯度饱和。大梯度对于梯度下降算法在每次迭代中取得足够进展非常重要。(有更多的细节,比如6.2章的“深度学习书” )