交叉熵损失(Cross-Entropy Loss)是一种在机器学习中广泛使用的损失函数,特别是在分类问题中。该损失函数通常用于训练分类模型,比如在图像识别、自然语言处理和语音识别等任务中。交叉熵损失函数的核心思想是衡量模型对目标类别的预测和实际类别之间的差异性。

对于多分类问题,我们假设有$C$个类别,每个类别的真实概率为$y_i$,模型预测的概率为$\hat{y}_i$。那么交叉熵损失函数的数学定义如下:

$$ \ell(y, \hat{y})=-\sum_{i=1}^{C} y_i\log(\hat{y}_i) $$

其中 $y$ 是真实概率分布,$\hat{y}$ 是预测概率分布。

$$ L_{cost}(y_i,\hat{y_i})=L_{cls}(\hat{p},p)+L_{box}(\hat{b},b) $$

举例计算一下,对于一个三分类问题来说:

样本X,属于C0、C1、C2的概率分别是0.2、0.4、0.4。

我们计算对应的交叉熵损失:

C1 C2 C3
预测概率 0.2 0.4 0.4
真实概率 0 0 1

$$ \begin{align} \text{loss} &= -\sum_{i=1}^{C} y_i\log(\hat{y}_i) \\ &= -[0 \cdot \log(0.2) + 0 \cdot \log(0.4) + 1 \cdot \log(0.4)] \\ &= 0.916 \end{align}

$$