分类任务中常用的损失函数有哪些?

1. Binary Cross Entropy (BCE, 二元交叉熵)

  • 公式 :−ylog⁡(y\^)+(1−y)log⁡(1−y\^)-y\\log(\\hat{y}) + (1-y)\\log(1-\\hat{y})−ylog(y\^)+(1−y)log(1−y\^)
  • 特点 :专门用于二分类任务。衡量预测概率分布与真实分布(0或1)之间的差异。
  • 核心机制:当真实标签为1时,预测值越接近1,损失越小;当真实标签为0时,预测值越接近0,损失越小。对错误分类的惩罚呈指数级增长。
  • 搭配 :通常与 Sigmoid 激活函数配合使用。

2. Cross Entropy Loss (Categorical Cross Entropy, 交叉熵损失)

  • 公式 :−∑yilog⁡(y^i)-\sum y_i \log(\hat{y}_i)−∑yilog(y^i)
  • 特点 :BCE 在多分类任务上的推广。用于衡量两个概率分布的距离。
  • 核心机制:希望预测概率集中在真实类别上。只要真实类别对应的预测概率高,损失就会很小。
  • 搭配 :通常与 Softmax 激活函数配合使用,确保输出是一个概率分布(和为1)。

3. Hinge Loss (合页损失)

  • 公式 :max⁡(0,1−y⋅y^)\max(0, 1 - y \cdot \hat{y})max(0,1−y⋅y^)
  • 特点 :主要用于支持向量机 (SVM)。
  • 核心机制:它不仅要求分类正确,还要求分类确信度足够高(函数间隔大于1)。只有当样本被正确分类且距离决策边界超过一定范围时,损失才为0。
  • 区别 :不像交叉熵那样关注概率,它更关注分类的边界。

4. KL Divergence (KL 散度 / 相对熵)

  • 公式 :DKL(P∣∣Q)=∑P(x)log⁡P(x)Q(x)D_{KL}(P || Q) = \sum P(x) \log \frac{P(x)}{Q(x)}DKL(P∣∣Q)=∑P(x)logQ(x)P(x)
  • 特点 :衡量两个概率分布 PPP(真实分布)和 QQQ(预测分布)之间的"距离"。
  • 与交叉熵的关系 :
    交叉熵=熵+KL散度 \text{交叉熵} = \text{熵} + \text{KL散度} 交叉熵=熵+KL散度
    在分类任务中,因为真实分布 PPP 的熵是常数,所以最小化交叉熵等价于最小化 KL 散度。
  • 用途:更多用于生成模型(如 VAE、GAN)或知识蒸馏,而在普通分类任务中,直接使用 Cross Entropy 更为普遍和直接。

总结对比表

损失函数 适用任务 典型场景 核心特点
Binary Cross Entropy 二分类 逻辑回归、神经网络输出层 输出概率,配合 Sigmoid
Cross Entropy Loss 多分类 图像分类、文本分类 输出概率分布,配合 Softmax
Hinge Loss 二分类 支持向量机 (SVM) 追求最大间隔,不输出概率
KL Divergence 分布匹配 生成模型、知识蒸馏 衡量分布相似度,非对称
相关推荐
奇树谦11 小时前
朴素贝叶斯(Naive Bayes)详解
机器学习·1024程序员节
古希腊掌管代码的神THU12 小时前
为什么DPO中chosen/rejected概率同时下降?
人工智能·深度学习·机器学习·自然语言处理·面试
2601_9679801115 小时前
Python开发的顶级开源项目全景图:2025-2026年生态概览
python·机器学习·开源项目·数据科学·生态概览
2601_9679801116 小时前
奇异值分解(SVD)理论与python实现
机器学习·奇异值分解·图像压缩·矩阵分解·python实现
方方洛16 小时前
ray教程-13-RayTrain与分布式训练
人工智能·分布式·机器学习
数聚天成DeepSData18 小时前
验收一批标注数据时,一致性到底在比谁和谁
人工智能·深度学习·机器学习·数据集·deepsdata
迷途呀20 小时前
强化学习概念
人工智能·深度学习·机器学习·强化学习·1024程序员节
在所不辞兄1 天前
【零基础学智能仿真-61】DFT数值收敛与计算预算
人工智能·深度学习·神经网络·机器学习·1024程序员节
硅谷秋水1 天前
AdaRSI 论文分析
人工智能·机器学习·语言模型·机器人
有Li1 天前
主动脉瘤的最佳风险重新分类:断层增强CT与二维经胸超声心动图对比研究文献速递/医学影像的几何测量
大数据·人工智能·深度学习·机器学习·医学生