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

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 分布匹配 生成模型、知识蒸馏 衡量分布相似度,非对称
相关推荐
CIO_Alliance11 小时前
企业级AI化转型基础认知(2):大语言模型、RAG、Agent与微调核心概念一次厘清
人工智能·深度学习·机器学习·语言模型·ipaas·系统集成·企业cio联盟
不是az12 小时前
力控相关知识点
算法·机器学习·最小二乘法
萧青山13 小时前
公文段落标题分类器实战:28维XGBoost实现标题层级识别(F1=0.99+)
机器学习
Ivanqhz15 小时前
DRN(深度强化学习推荐网络)
人工智能·线性代数·机器学习·矩阵·dnn
阳明山水16 小时前
销量预测2026:基础模型、Mamba架构与LLM融合的技术新范式
人工智能·深度学习·算法·机器学习·架构
一楼的猫17 小时前
网文AI辅助怎么过审?番茄200+维度检测与去AI味实战
人工智能·学习·机器学习·自然语言处理·ai写作
醒过来摸鱼17 小时前
机器学习知识框架:从数据处理到模型部署
人工智能·机器学习
lisw0519 小时前
智能CAD:理论、算法、应用与展望!
人工智能·机器学习·软件工程
ShallWeL19 小时前
AUC、F1、召回率怎么选
人工智能·算法·机器学习