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

张开发
2026/6/7 22:00:14 15 分钟阅读

分享文章

分类任务中常用的损失函数有哪些?
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)−∑yi​log(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二分类逻辑回归、神经网络输出层输出概率配合 SigmoidCross Entropy Loss多分类图像分类、文本分类输出概率分布配合 SoftmaxHinge Loss二分类支持向量机 (SVM)追求最大间隔不输出概率KL Divergence分布匹配生成模型、知识蒸馏衡量分布相似度非对称

更多文章