【深度学习】002-损失函数:MSE、交叉熵、铰链损失函数(Hinge Loss)

这篇具有很好参考价值的文章主要介绍了【深度学习】002-损失函数:MSE、交叉熵、铰链损失函数(Hinge Loss)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、均方误差损失函数(The Mean-Squared Loss)

      1.1、从线性回归模型导出均方误差函数

      1.2、均方误差函数的使用场景

      1.3、均方误差函数的一些讨论

2、交叉熵损失函数(The Cross-Entropy Loss)

      2.1、从softmax运算到交叉熵

      2.2、信息论视角中的交叉熵

3、铰链损失函数(The Hinge Loss)


前言

        损失函数,作为任何神经网络的关键成分之一,它定义了如何衡量当前模型输出与目标输出的差距。而模型学习时所需的权重参数也是通过最小化损失函数的结果来确定和进行调整的。通常情况下,我们将从一下几个损失函数中进行选择:

  • 均方误差(MSE):通过取数据集的预测值和实际值之间的平方差的平均值来计算MSE。这种损失函数通常用于回归问题,其中的目标是预测连续的数值输出。
  • 交叉熵(cross-entropy loss):经常用于分类任务,其中目标是预测输入属于某个类别的概率。通过取正确类别的预测概率的对数的负和来计算交叉熵损失。
  • 铰链损失函数(hinge loss):铰链损失是机器学习中用于二元分类问题的一个数学函数。它也被称为最大裕度损失或SVM(支持向量机)损失。铰链损失测量二元分类模型的预测输出和实际输出之间的差异。

以及根据需要选择的特殊损失函数。

        当给定一个特定的模型,每个损失函数都有其特殊的性质,这让训练结果的评价方式变得多种多样——例如,铰链损失在处理分类问题时具有最大裕度属性;当MSE损失函数与线性回归问题结合使用时,均方误差保证了结果为凸函数(用于后向传递)。

hinge loss,深度学习笔记,深度学习,python


        在这篇文章中,将主要讨论三种常见的损失函数:均方(MSE)损失、交叉熵损失和铰链损失。这些损失函数是在传统机器学习和深度学习模型中最常用的函数,所以本文清楚地讨论了每一个损失函数模型背后的基本理论,以及何时选择使用它们。


 

一、均方误差损失函数(The Mean-Squared Loss)

        首先,定义一个具有两个维度输入的线性回归模型:

hinge loss,深度学习笔记,深度学习,python

        该模型的输入为特征向量(feature vector)。对于该模型的MSE均方误差的计算规则如下:

  1. 遍历用于训练的个不同的训练示例(training examples)
  2. 对于其中每一个训练示例,计算其网络的输出向量  与目标标签向量  的平方误差
  3. 最后将计算的个结果相加,求平均值得到MSE。

      1.1、从线性回归模型导出均方误差函数

        在线性回归假设下,真正的标签向量(labels vector)将是特征向量的一个线性函数,同时叠加有一定的噪声附加项 。总的来说,该假设下的表达式为:

hinge loss,深度学习笔记,深度学习,python

        在此处,有必要对噪声的分布做一个约束,即此处的  是一个满足零均值、具有单位方差高斯噪声。具体地说,它将满足以下两种性质:

  • 期望为理想输出hinge loss,深度学习笔记,深度学习,python,其中  表示期望
  • 方差为单位误差hinge loss,深度学习笔记,深度学习,python,其中  表示方差

        由于噪声的加入,当线性回归模型的输入为  时,模型的输出不一定为 hinge loss,深度学习笔记,深度学习,python ,其输出将变为一个满足高斯分布的、不确定的值。

        在受到高斯噪声影响的条件下,当输入已知为  时,观察到输出为  的概率为:

 hinge loss,深度学习笔记,深度学习,python

        纵观训练集中的组不同的训练示例,结合上述推导出的条件概率,可以得到这组训练示例与其输入数据之间的似然函数(也即:当输入为特征向量 时,有多大可能性能得到现在观察到的输出 ):

hinge loss,深度学习笔记,深度学习,python

        为了方便运算,将上述的原始似然函数用对数进行化简。由于对数函数是一个单调递增的函数,因此使用对数不会影响其极值的分布和极点的位置

hinge loss,深度学习笔记,深度学习,python

        上述的式子即为线性回归条件下的极大似然估计量,将它最大化的意义为:此时选择的参数  有最大的可能性、利用线性回归模型,从特征向量  得到标签向量 。不得不提的是,在定义损失函数时,通常将此函数描述为度量现有模型与理想模型的差距,因此损失函数通常被优化至最小值,即上述等式的相反数

      1.2、均方误差函数的使用场景

        从上述讨论可知,如果你的输出是输入的实数函数,同时叠加有一定量的高斯噪声、具有恒定的均值和方差,那么推荐使用MSE损失函数。如果这些假设不成立(例如在分类的背景下),MSE损失可能不是最好的选择。

      1.3、均方误差函数的一些讨论

        在接触均方误差函数的时候,我将其理解为:评估当前模型输出 hinge loss,深度学习笔记,深度学习,python 与得到的理想标签向量  之间的范式距离。那么既然如此,为何不选用差距的更高次方进行评估(例如4次方、6次方等高阶的偶数次方)?这种加剧惩罚的做法不应该给模型带来更快的逼近速度?


2、交叉熵损失函数(The Cross-Entropy Loss)

         在线性回归模型中,模型的输出可以为任意取值,但在使用神经网络处理分类问题时,这种无约束的输出将不具有特定的物理含义。我们希望回归问题的模型输出 为一个总和为1的标签向量,其中  表示该输入被分类为每一个标签的可能性大小

        softmax运算[1]就提供了一种转换方式,它获取一个向量并将其映射为概率。softmax回归适用于分类问题,它使用了softmax运算中输出类别的概率分布。而交叉熵是一个衡量两个概率分布之间差异的很好的度量,它测量给定模型编码数据所需的比特数,其计算表达式如下:

      2.1、从softmax运算到交叉熵

        首先,介绍将任意的输出向量映射为概率的softmax函数

        softmax函数可以被视为进行了两步操作:

  • 第一步:使用指数函数将输入的向量映射为正数(指数函数的性质,其输出均为正数;
  • 第二步:对得到的正数做归一化,将其约束为符合概率定义的值。同时,由于指数函数为单调递增函数,并且具有良好的可导性。(可导性在反向传递时至关重要)

        简单来说,softmax函数给出了一个向量 ,我们可以将其视为“对给定任意输入,该输入被分类为每一个标签的可能性大小”。在理解了分类性质的神经网络的输出的基础上,分类器意图达到的最佳效果是:针对特征向量的第个输入,当模型给出的预测概率为: 时,与其分类标签完全一致,基于此思想,我们定义交叉熵

      2.2、信息论视角中的交叉熵

        交叉熵损失可以通过信息论来解释。在信息论中,Kullback-Leibler(KL)散度衡量两种概率分布的“不同”程度。我们可以将我们的分类问题视为具有两种不同的概率分布:

  • 第一,我们实际标签的分布,其中所有的概率大小都集中在正确的标签上,而其余的标签上没有概率;
  • 第二,我们正在训练的神经网络所输出的分布,其中概率的大小通过softmax函数改变原始输出的标签向量给出。

        在信息论中,KL熵定义为:

        

        需要指出的是,作为分类问题“正确答案”的标签向量通常使用独热编码独热编码是一个向量,它的分量和类别一样多。 类别对应的分量设置为1,其他所有分量设置为0

        比如,若现在有一个关于性别的分类问题,将1000个输入分类为三个类别:{武装直升机},则对应的标签向量满足如下形式:{  = “男”}=(1,0,0)、{  = “女”}=(0,1,0)、{  = “武装直升机”}=(0,0,1)

        基于此事实,我们考察式中的第一项:,当  为0或为1时,其取值始终为0.因此,在分类问题中上述的式子自然可以改写为:

        在概率论视角下,可以将最小化交叉熵损失的任务解释为最小化上述两个分布之间的KL熵。例如,许多数据集仅被部分标记或具有分类噪声(即偶尔不正确),如果我们可以概率地将标签分配给数据集的未标记部分,或者将不正确的标签解释为从概率噪声分布中采样,那么我们仍然可以应用最小化KL熵的想法,尽管我们的基本实际分布将不再将所有概率质量集中在单个标签上。


3、铰链损失函数(The Hinge Loss)

        铰链损失函数(The Hinge Loss)又称为合页损失函数,其典型的图像为:

hinge loss,深度学习笔记,深度学习,python

        对于铰链损失函数的一个简单理解为:当分类神经网络的输出概率大与某个正确率阈值时,将不产生损失;反之,依据其与正确答案的偏离程度产生相应的线性损失。其计算表达式为:

hinge loss,深度学习笔记,深度学习,python

hinge loss,深度学习笔记,深度学习,python

        

        式中,第一项是损失,第二项是正则化项。这个公式就是说  大于1时loss为0, 否则loss为 。因此,铰链损失函数不仅要分类正确,而且置信度足够高的时候,损失才为0,对学习有更高的要求。文章来源地址https://www.toymoban.com/news/detail-754798.html

到了这里,关于【深度学习】002-损失函数:MSE、交叉熵、铰链损失函数(Hinge Loss)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习(23):SmoothL1Loss损失函数

    SmoothL1Loss是一种常用的损失函数,通常用于回归任务中,其相对于均方差(MSE)损失函数的优势在于对异常值(如过大或过小的离群点)的惩罚更小,从而使模型更加健壮。 SmoothL1Loss的公式为: l o s s ( x , y ) = { 0.5 ( x − y ) 2 if  ∣ x − y ∣ 1 ∣ x − y ∣ − 0.5 otherwise loss(x,y) = b

    2024年02月02日
    浏览(44)
  • 深度学习常用损失MSE、RMSE和MAE

    MSE是深度学习任务中最常用的一种损失函数,也称为 L2 Loss MSE是真实值与预测值的差值的平方然后求和平均 范围[0,+∞),当预测值与真实值完全相同时为0,误差越大,该值越大 MSE 曲线的特点是光滑连续、可导,便于使用梯度下降算法,是比较常用的一种损失函数。而且,

    2024年02月01日
    浏览(50)
  • 小知识点系列(十四) 本文(3万字) | 解深度解读损失函数 | CrossEntropy | BCE | BCEWithLogits | NLL |MSE | L1 |

    点击进入专栏: 《人工智能专栏》 Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程

    2024年02月22日
    浏览(62)
  • unity中的Hinge Joint铰链关节

    铰链关节(Hinge Joint)是一种允许两个物体绕着一个固定轴旋转的关节。它通常用于模拟门、大门、手肘等自然物体的旋转运动。在物理引擎中,铰链关节是一种常见的约束类型,可以通过设置旋转限制来控制物体的旋转范围,从而实现更加真实的物理模拟效果。 铰链关节由

    2024年02月05日
    浏览(42)
  • 【人工智能与深度学习】均方损失,交叉墒损失,vgg损失,三元组损失

    均方损失,交叉墒损失,vgg损失,三元组损失的应用场景有哪些 均方损失(Mean Squared Error, MSE),交叉熵损失(Cross-Entropy Loss),和三元组损失(Triplet Loss)是机器学习和深度学习中常用的损失函数,每个都适用于不同的应用场景: 1. 均方损失(MSE) 应用场景 :主要用于回

    2024年01月22日
    浏览(102)
  • 论文代码学习—HiFi-GAN(3)——模型损失函数loss解析

    这里翻译了HiFi-GAN这篇论文的具体内容,具体链接。 这篇文章还是学到了很多东西,从整体上说,学到了生成对抗网络的构建思路,包括生成器和鉴定器。细化到具体实现的细节,如何 实现对于特定周期的数据处理?在细化,膨胀卷积是如何实现的?这些通过文章,仅仅是了

    2024年02月14日
    浏览(91)
  • 损失函数——Dice Loss损失函数

    Dice Loss 是一种用于图像分割任务的损失函数,它的基本思想是计算预测结果和真实结果的重叠部分,通过最小化两者的差异来优化模型。Dice Loss被广泛用于医学图像分割任务中。 Dice Loss的计算公式如下:  其中,N是像素总数,pi​是模型预测的第i个像素的值,gi​是真实标

    2024年02月07日
    浏览(43)
  • 损失函数——对数损失(Logarithmic Loss,Log Loss)

    对数损失(Logarithmic Loss,Log Loss) 是一种用于衡量分类模型的损失函数。它通常用于二元分类问题,但也可以用于多元分类问题。 在二元分类问题中,Log Loss 基于预测概率和实际标签的对数误差来计算损失。对于一个样本 i,假设它的实际标签是 yi​(取值为 0 或 1),模

    2024年02月15日
    浏览(53)
  • 损失函数——感知损失(Perceptual Loss)

    感知损失(Perceptual Loss) 是一种基于深度学习的图像风格迁移方法中常用的损失函数。与传统的均方误差损失函数(Mean Square Error,MSE)相比,感知损失更注重图像的感知质量,更符合人眼对图像质量的感受。 感知损失是通过预训练的神经网络来计算两张图片之间的差异。通

    2024年02月04日
    浏览(45)
  • 损失函数——均方误差(Mean Squared Error,MSE)

    均方误差(Mean Squared Error,MSE): MSE是回归任务中常用的损失函数,它衡量模型预测值与实际值之间的平均平方误差。 具体来说,MSE的计算公式如下: 其中,n是样本数量,xi是第i个样本的真实值,yi是模型对第i个样本的预测值。 MSE的值越小,说明模型的预测值与真实值之

    2023年04月24日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包