张芷铭的个人博客

不同损失函数适用于不同任务:Focal Loss 处理类别不平衡,Dice Loss 适合图像分割,交叉熵用于分类,MSE/L1 用于回归,Huber Loss 对离群值鲁棒。

交叉熵损失 (Cross Entropy Loss)

衡量两个概率分布之间的差异,广泛用于分类任务。

二分类:

$$\text{Cross Entropy} = - \left( y \log(p) + (1 - y) \log(1 - p) \right)$$

其中 $y$ 是真实标签(0 或 1),$p$ 是模型对类别 1 的预测概率。

多分类:

$$\text{Cross Entropy} = - \sum_{i=1}^{N} y_i \log(p_i)$$

Focal Loss

解决类别不平衡问题,特别适用于目标检测(如 RetinaNet)。

$$FL(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)$$

参数说明:

  • $p_t$:模型对正确类别的预测概率
  • $\alpha_t$:平衡因子,减少类别不平衡影响
  • $\gamma$:调节因子,$\gamma > 0$ 时聚焦于难以分类的样本

优势:

  • 解决类别不平衡,提升稀有类别检测性能
  • 有效抑制大量负样本

Dice Loss

基于 Dice 系数,广泛应用于医学图像分割。

Dice 系数:

$$Dice = \frac{2 |A \cap B|}{|A| + |B|}$$

Dice Loss:

$$Dice_{Loss} = 1 - \frac{2 |A \cap B|}{|A| + |B|}$$

其中 $A$ 和 $B$ 分别是预测和真实的二值化掩码。

优势:

  • 适用于类别不平衡的分割任务
  • 特别适合小目标、不规则形状(如肿瘤分割)

常用损失函数汇总

损失函数公式适用场景特点
MSE$\frac{1}{N} \sum (y_i - \hat{y}_i)^2$回归对离群值敏感
L1 Loss$\sum |y_i - \hat{y}_i|$回归对离群值鲁棒
Huber Loss分段函数回归结合 MSE 和 L1 优点
IoU Loss$1 - \frac{|A \cap B|}{|A \cup B|}$检测/分割衡量重叠程度

Huber Loss 公式:

$$Huber Loss = \sum_{i=1}^{N} \begin{cases} \frac{1}{2} (y_i - \hat{y}_i)^2, & \text{if } |y_i - \hat{y}_i| \leq \delta \ \delta |y_i - \hat{y}_i| - \frac{1}{2} \delta^2, & \text{otherwise} \end{cases}$$

其中 $\delta$ 控制误差容忍范围。

选择指南

任务推荐损失函数
多分类交叉熵损失
类别不平衡分类Focal Loss
图像分割Dice Loss
回归(无离群值)MSE
回归(有离群值)L1 Loss / Huber Loss
目标检测IoU Loss

Comments