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

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 分布匹配 生成模型、知识蒸馏 衡量分布相似度,非对称
相关推荐
罗西的思考15 分钟前
机器人模型(WM / WAM / VLA)综合分析与对比:从「看」到「想」再到「做」
人工智能·算法·机器学习
猎头南楼2 小时前
大模型后训练与 Agent 自迭代:两类工程能力的观察
人工智能·深度学习·机器学习
Zzj_tju5 小时前
VLM 读图评测:先审计评分器,再判断读错还是算错
人工智能·深度学习·机器学习·语言模型
七灵微6 小时前
【AI】代码实战- 基于时间序列的轴承检测1
人工智能·机器学习·ai·pandas·matplotlib
Jared_devin7 小时前
单头、多头 Self-Attention可视化
人工智能·pytorch·深度学习·算法·机器学习·pycharm
天国梦7 小时前
同步课本单词APP怎么选?实测3款才知道真实差距
人工智能·机器学习
来让爷抱一个7 小时前
2026 CFG引导实战:八帧跳跃不许跑偏,百智云精灵图把条件契约写进素材包
人工智能·机器学习
pen-ai8 小时前
【优化方法】最小二乘:从误差平方到线性与非线性拟合
人工智能·算法·机器学习
YOLO数据集集合9 小时前
洪水场景建筑与植被检测数据集 | 洪水检测 建筑识别 植被监测 灾情评估 目标检测9073期
人工智能·目标检测·机器学习·计算机视觉·目标跟踪·无人机视角·灾害救援
Q26433650239 小时前
【有源码】基于机器学习的电信网络诈骗话术语义识别与可视化分析系统 XGBoost算法+Hadoop+Spark
大数据·hadoop·算法·机器学习·spark·毕业设计·课程设计