损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异.
上一篇文章介绍了2种常用的损失函数,下面介绍另外2种常用的损失函数.
一、Hinge 损失函数
Hinge 损失函数是一种常用于分类任务(尤其是支持向量机,SVM)的损失函数。它衡量的是分类模型的预测结果与真实标签之间的差异,并鼓励模型不仅做出正确的分类,还要有足够的置信度。Hinge 损失函数的定义如下:
对于一个样本 (x,y),假设:
- x 是输入特征。
- y∈{−1,+1}是真实标签(通常取二分类问题的标签为 −1 或 +1)。
- y^=f(x)是模型预测的值。
Hinge 损失的公式为:
其中:
Hinge 损失的几何解释
-
分类边界与间隔:
- 支持向量机的目标是找到一个超平面,将数据集中的不同类别尽可能分开,同时最大化分类边界的间隔。
- Hinge 损失不仅要求预测正确,还要求样本点距离超平面有一定的间隔(至少为 1)。这种间隔约束可以增强分类器的泛化能力。
Hinge 损失与其他损失函数的比较
总结
Hinge 损失函数的核心思想是通过惩罚分类错误和间隔不足的样本,提高分类器的泛化能力。它是支持向量机的理论基础,在二分类问题中表现优异。尽管它对异常值敏感,但其凸性和间隔最大化的特点使得它在实践中被广泛应用。
二、交叉熵损失函数
交叉熵损失函数(Cross-Entropy Loss)是分类问题中常用的损失函数,尤其是在神经网络和逻辑回归中表现优异。其核心思想是衡量模型预测的概率分布与真实类别分布之间的差异,通常用于多分类和二分类任务。
公式定义
交叉熵损失的直观理解
-
概率匹配:
- 交叉熵损失函数惩罚模型预测分布与真实分布之间的差异。
- 如果模型将最大概率分配给正确类别:损失趋近于 0。
- 如果模型错误地分配较高概率给错误类别,损失会增大。
-
信息论解释:
- 交叉熵来自信息论中的熵概念,表示预测分布对真实分布的编码效率。
- 当预测分布与真实分布相同,交叉熵达到最小值。
- 当预测分布远离真实分布,交叉熵增大,表示更多的信息需要传递来纠正预测。
交叉熵损失在二分类问题中的形式
对于二分类问题:
交叉熵损失在多分类问题中的形式
对于多分类问题(使用 softmax 激活函数):
交叉熵损失的优点和缺点
优点
- 概率解释 :
- 交叉熵直接优化模型的概率输出,使其预测值可以解释为概率。
- 对错误分类敏感 :
- 对错误分类的预测施加较大惩罚,能够快速修正分类错误。
- 广泛适用 :
- 无论是二分类还是多分类任务,交叉熵损失都能很好地适配。
缺点
- 对异常值敏感 :
- 如果真实标签或预测概率接近 0,可能导致梯度过大或损失值爆炸。
- 数值不稳定性 :
- 当 y^很接近 0 或 1 时,log(y^)可能导致数值计算不稳定。
总结
交叉熵损失函数通过衡量预测分布和真实分布之间的差异,在分类任务中表现出色。它以概率为核心优化目标,具有直观的统计和信息论解释。同时,交叉熵损失具有广泛的适用性,尤其在深度学习和逻辑回归等场景中是不可或缺的工具。