1. 均方误差(Mean Squared Error, MSE)
- 使用场景: 回归问题。
- 特性:
- 计算预测值与真实值之间的平方差,然后取平均。
- 对大误差非常敏感,因为误差被平方。
- 平滑且连续,易于优化。
- 公式:
\text{MSE} = \frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i)^2
- 关键属性:
- 适用于连续值的回归任务。
- 对异常值敏感。
2. 平均绝对误差(Mean Absolute Error, MAE)
- 使用场景: 回归问题,尤其是当数据中存在异常值时。
- 特性:
- 计算预测值与真实值之间的绝对差,然后取平均。
- 对异常值不敏感,因为误差没有被平方。
- 在某些情况下,优化 MAE 比 MSE 更困难,因为它的梯度在零点不连续。
- 公式:
\text{MAE} = \frac{1}{N} \sum_{i=1}^{N} |y_i - \hat{y}_i|
- 关键属性:
- 适用于回归任务,尤其是数据中存在异常值的情况。
- 对异常值不敏感。
3. 交叉熵损失(Cross-Entropy Loss)
-
使用场景: 分类问题,尤其是多分类问题。
-
特性:
- 衡量预测概率分布与真实概率分布之间的差异。
- 对于分类问题,交叉熵损失通常与 Softmax 激活函数一起使用。
- 当预测值与真实值差异较大时,损失值会迅速增大。
-
公式:
\text{Cross-Entropy Loss} = -\sum_{i=1}^{C} y_i \log(\hat{y}_i)其中,C 是类别数,y_i 是真实标签(one-hot编码),\hat{y}_i 是预测概率。
-
关键属性:
- 适用于多分类问题。
- 对错误分类的惩罚较大。
4. 二元交叉熵损失(Binary Cross-Entropy Loss)
-
使用场景: 二分类问题。
-
特性:
- 是交叉熵损失的特例,适用于二分类问题。
- 通常与 Sigmoid 激活函数一起使用。
- 衡量预测概率与真实标签之间的差异。
-
公式:
\text{Binary Cross-Entropy Loss} = -[y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})]其中,y 是真实标签(0或1),\hat{y} 是预测概率。
-
关键属性:
- 适用于二分类问题。
- 对错误分类的惩罚较大。
5. KL散度(Kullback-Leibler Divergence, KL Divergence)
- 使用场景: 概率分布之间的差异度量,常用于生成模型(如变分自编码器)。
- 特性:
- 衡量两个概率分布之间的差异。
- 不是对称度量,即 D_{KL}(P||Q) \neq D_{KL}(Q||P)。
- 通常与交叉熵损失一起使用。
- 公式:
D_{KL}(P||Q) = \sum_{i} P(i) \log\left(\frac{P(i)}{Q(i)}\right)
- 关键属性:
- 适用于概率分布之间的差异度量。
- 常用于生成模型和变分推断。
6. Hinge Loss(合页损失)
-
使用场景: 支持向量机(SVM)和一些分类问题,尤其是当类别之间有明显的边界时。
-
特性:
- 用于最大化分类边界与错误分类样本之间的距离。
- 对正确分类且置信度高的样本不进行惩罚。
-
公式:
\text{Hinge Loss} = \max(0, 1 - y \cdot \hat{y})其中,y 是真实标签(+1或-1),\hat{y} 是预测值。
-
关键属性:
- 适用于支持向量机和一些分类问题。
- 对错误分类的惩罚较大。
7. Huber Loss(Huber损失)
- 使用场景: 回归问题,尤其是当数据中存在异常值时。
- 特性:
- 结合了 MSE 和 MAE 的优点,对小误差使用平方误差,对大误差使用线性误差。
- 对异常值不敏感,同时保持了 MSE 的平滑性。
- 公式:
\text{Huber Loss} = \begin{cases} \frac{1}{2}(y - \hat{y})^2 & \text{if } |y - \hat{y}| \leq \delta \\ \delta |y - \hat{y}| - \frac{1}{2}\delta^2 & \text{otherwise} \end{cases}
- 关键属性:
- 适用于回归任务,尤其是数据中存在异常值的情况。
- 对异常值不敏感,同时保持了 MSE 的平滑性。
8. Dice Loss(Dice损失)
-
使用场景: 图像分割任务,尤其是医学图像分割。
-
特性:
- 基于 Dice 系数,衡量预测分割结果与真实分割结果之间的重叠程度。
- 对类别不平衡问题较为鲁棒。
-
公式:
\text{Dice Loss} = 1 - \frac{2 \cdot |X \cap Y|}{|X| + |Y|}其中,X 是预测分割结果,Y 是真实分割结果。
-
关键属性:
- 适用于图像分割任务,尤其是类别不平衡的情况。
- 对类别不平衡问题较为鲁棒。
9. Focal Loss
-
使用场景: 目标检测和分类问题,尤其是类别不平衡问题。
-
特性:
- 通过调整损失函数,减少易分类样本的权重,增加难分类样本的权重。
- 对类别不平衡问题有较好的处理能力。
-
公式:
\text{Focal Loss} = -\alpha (1 - \hat{y})^\gamma \log(\hat{y})其中,\alpha 是平衡因子,\gamma 是聚焦参数。
-
关键属性:
- 适用于类别不平衡的分类问题。
- 对难分类样本的权重较大。
10. Triplet Loss(三元组损失)
-
使用场景: 深度度量学习(如人脸识别、图像检索)。
-
特性:
- 通过比较三个样本(锚点、正样本、负样本)之间的距离来学习特征表示。
- 目标是使锚点与正样本之间的距离小于锚点与负样本之间的距离。
-
公式:
\text{Triplet Loss} = \max(0, d(a, p) - d(a, n) + \alpha)其中,a 是锚点,p 是正样本,n 是负样本,\alpha 是边际。
-
关键属性:
- 适用于度量学习任务,如人脸识别和图像检索。
- 通过三元组样本之间的距离来学习特征表示。
| 任务类型 | 常用损失函数 |
|---|---|
| 回归问题 | - 均方误差(MSE)- 平均绝对误差(MAE)- Huber Loss |
| 分类问题 | - 交叉熵损失- 二元交叉熵损失- Hinge Loss |
| 生成模型 | - KL散度(KL Divergence) |
| 图像分割 | - Dice Loss |
| 类别不平衡 | - Focal Loss |
| 度量学习 | - Triplet Loss |