机器学习 - 常用的损失函数(交叉熵、Hinge)

损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异.

上一篇文章介绍了2种常用的损失函数,下面介绍另外2种常用的损失函数.

一、Hinge 损失函数

Hinge 损失函数是一种常用于分类任务(尤其是支持向量机,SVM)的损失函数。它衡量的是分类模型的预测结果与真实标签之间的差异,并鼓励模型不仅做出正确的分类,还要有足够的置信度。Hinge 损失函数的定义如下:

对于一个样本 (x,y),假设:

  • x 是输入特征。
  • y∈{−1,+1}是真实标签(通常取二分类问题的标签为 −1 或 +1)。
  • y^=f(x)是模型预测的值。

Hinge 损失的公式为:

其中:

Hinge 损失的几何解释

  1. 分类边界与间隔

    • 支持向量机的目标是找到一个超平面,将数据集中的不同类别尽可能分开,同时最大化分类边界的间隔。
    • Hinge 损失不仅要求预测正确,还要求样本点距离超平面有一定的间隔(至少为 1)。这种间隔约束可以增强分类器的泛化能力。

Hinge 损失与其他损失函数的比较

总结

Hinge 损失函数的核心思想是通过惩罚分类错误和间隔不足的样本,提高分类器的泛化能力。它是支持向量机的理论基础,在二分类问题中表现优异。尽管它对异常值敏感,但其凸性和间隔最大化的特点使得它在实践中被广泛应用。

二、交叉熵损失函数

交叉熵损失函数(Cross-Entropy Loss)是分类问题中常用的损失函数,尤其是在神经网络和逻辑回归中表现优异。其核心思想是衡量模型预测的概率分布与真实类别分布之间的差异,通常用于多分类和二分类任务。

公式定义

交叉熵损失的直观理解

  1. 概率匹配

    • 交叉熵损失函数惩罚模型预测分布与真实分布之间的差异。
    • 如果模型将最大概率分配给正确类别:损失趋近于 0。
    • 如果模型错误地分配较高概率给错误类别,损失会增大。
  2. 信息论解释

    • 交叉熵来自信息论中的熵概念,表示预测分布对真实分布的编码效率。
    • 当预测分布与真实分布相同,交叉熵达到最小值。
    • 当预测分布远离真实分布,交叉熵增大,表示更多的信息需要传递来纠正预测。

交叉熵损失在二分类问题中的形式

对于二分类问题:

交叉熵损失在多分类问题中的形式

对于多分类问题(使用 softmax 激活函数):

交叉熵损失的优点和缺点

优点
  1. 概率解释
    • 交叉熵直接优化模型的概率输出,使其预测值可以解释为概率。
  2. 对错误分类敏感
    • 对错误分类的预测施加较大惩罚,能够快速修正分类错误。
  3. 广泛适用
    • 无论是二分类还是多分类任务,交叉熵损失都能很好地适配。
缺点
  1. 对异常值敏感
    • 如果真实标签或预测概率接近 0,可能导致梯度过大或损失值爆炸。
  2. 数值不稳定性
    • 当 y^很接近 0 或 1 时,log⁡(y^)可能导致数值计算不稳定。

总结

交叉熵损失函数通过衡量预测分布和真实分布之间的差异,在分类任务中表现出色。它以概率为核心优化目标,具有直观的统计和信息论解释。同时,交叉熵损失具有广泛的适用性,尤其在深度学习和逻辑回归等场景中是不可或缺的工具。

相关推荐
码农三叔1 分钟前
(1-2)控制系统基础与人形机器人特点:人形机器人控制的特殊挑战
人工智能·机器学习·机器人·人形机器人
ai产品老杨1 分钟前
源码交付与全协议兼容:企业级 AI 视频中台的二次开发实战
人工智能·音视频
Rick19939 分钟前
Prompt 提示词
人工智能·深度学习·prompt
beiju10 分钟前
AI Agent 不是你以为的那样
人工智能·claude
Fleshy数模15 分钟前
基于OpenCV实现人脸与微笑检测:从入门到实战
人工智能·opencv·计算机视觉
沪漂阿龙15 分钟前
深入浅出 Pandas apply():从入门到向量化思维
人工智能·python·pandas
我材不敲代码16 分钟前
OpenCV 实战——Python 实现图片人脸检测 + 视频人脸微笑检测
人工智能·python·opencv
2501_9481142420 分钟前
OpenClaw数据采集实战:用星链4SAPI给AI采集装上“稳定引擎”
服务器·人工智能·ai·openclaw
GOWIN革文品牌咨询21 分钟前
国际B2B品牌的“价值压缩”怎么做:不是写一句话,而是搭一套定位推导模型
大数据·人工智能
爱学习的程序媛26 分钟前
在线客服系统技术全解析:架构、交互与数据格式
人工智能·架构·系统架构·智能客服·在线客服