0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

损失函数的简要介绍

倩倩 来源:人工智能遇见磐创 2020-04-17 10:01 次阅读

不同的损失函数可用于不同的目标。在这篇文章中,我将带你通过一些示例介绍一些非常常用的损失函数。这篇文章提到的一些参数细节都属于tensorflow或者keras的实现细节。

损失函数的简要介绍

损失函数有助于优化神经网络的参数。我们的目标是通过优化神经网络的参数(权重)来最大程度地减少神经网络的损失。通过神经网络将目标(实际)值与预测值进行匹配,再经过损失函数就可以计算出损失。然后,我们使用梯度下降法来优化网络权重,以使损失最小化。这就是我们训练神经网络的方式。

均方误差

当你执行回归任务时,可以选择该损失函数。顾名思义,这种损失是通过计算实际(目标)值和预测值之间的平方差的平均值来计算的。

例如,你有一个神经网络,通过该网络可以获取一些与房屋有关的数据并预测其价格。在这种情况下,你可以使用MSE(均方误差)损失。基本上,在输出为实数的情况下,应使用此损失函数。

二元交叉熵

当你执行二元分类任务时,可以选择该损失函数。如果你使用BCE(二元交叉熵)损失函数,则只需一个输出节点即可将数据分为两类。输出值应通过sigmoid激活函数,以便输出在(0-1)范围内。

例如,你有一个神经网络,该网络获取与大气有关的数据并预测是否会下雨。如果输出大于0.5,则网络将其分类为会下雨;如果输出小于0.5,则网络将其分类为不会下雨。即概率得分值越大,下雨的机会越大。

训练网络时,如果标签是下雨,则输入网络的目标值应为1,否则为0。

重要的一点是,如果你使用BCE损失函数,则节点的输出应介于(0-1)之间。这意味着你必须在最终输出中使用sigmoid激活函数。因为sigmoid函数可以把任何实数值转换(0–1)的范围。(也就是输出概率值)

如果你不想在最后一层上显示使用sigmoid激活函数,你可以在损失函数的参数上设置from logits为true,它会在内部调用Sigmoid函数应用到输出值。

多分类交叉熵

当你执行多类分类任务时,可以选择该损失函数。如果使用CCE(多分类交叉熵)损失函数,则输出节点的数量必须与这些类相同。最后一层的输出应该通过softmax激活函数,以便每个节点输出介于(0-1)之间的概率值。

例如,你有一个神经网络,它读取图像并将其分类为猫或狗。如果猫节点具有高概率得分,则将图像分类为猫,否则分类为狗。基本上,如果某个类别节点具有最高的概率得分,图像都将被分类为该类别。

为了在训练时提供目标值,你必须对它们进行一次one-hot编码。如果图像是猫,则目标向量将为(1,0),如果图像是狗,则目标向量将为(0,1)。基本上,目标向量的大小将与类的数目相同,并且对应于实际类的索引位置将为1,所有其他的位置都为零。

如果你不想在最后一层上显示使用softmax激活函数,你可以在损失函数的参数上设置from logits为true,它会在内部调用softmax函数应用到输出值。与上述情况相同。

稀疏多分类交叉熵

该损失函数几乎与多分类交叉熵相同,只是有一点小更改。

使用SCCE(稀疏多分类交叉熵)损失函数时,不需要one-hot形式的目标向量。例如如果目标图像是猫,则只需传递0,否则传递1。基本上,无论哪个类,你都只需传递该类的索引。

这些是最重要的损失函数。训练神经网络时,可能会使用这些损失函数之一。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4756

    浏览量

    100445
  • 函数
    +关注

    关注

    3

    文章

    4295

    浏览量

    62348
收藏 人收藏

    评论

    相关推荐

    RNN的损失函数与优化算法解析

    RNN的损失函数 RNN(循环神经网络)在处理序列数据的过程中,损失函数(Loss Function)扮演着重要的角色,它可以测量模型在训练中的表现,并推动模型朝着正确的方向学习。RN
    的头像 发表于 11-15 10:16 95次阅读

    语义分割25种损失函数综述和展望

    本综述提供了对25种用于图像分割的损失函数的全面且统一的回顾。我们提供了一种新颖的分类法,并详细审查了这些损失函数如何在图像分割中被定制和利用,强调了它们的重要特征和应用,并进行了系统
    的头像 发表于 10-22 08:04 99次阅读
    语义分割25种<b class='flag-5'>损失</b><b class='flag-5'>函数</b>综述和展望

    函数信号发生器按键介绍

    函数信号发生器是电子测试领域中不可或缺的重要工具,它能够模拟产生各种波形信号,如正弦波、方波、三角波等,广泛应用于电路测试、信号模拟、科学研究等多个领域。函数信号发生器的按键设计是其功能实现的重要组成部分,本文将对函数信号发生器
    的头像 发表于 05-15 16:14 1580次阅读

    典型环节的传递函数介绍

    电子发烧友网站提供《典型环节的传递函数介绍.pdf》资料免费下载
    发表于 03-01 10:28 2次下载

    verilog function函数的用法

    Verilog 中被广泛用于对电路进行模块化设计,以简化和组织代码。 本文将详细介绍 Verilog 函数的用法,并探讨函数在硬件设计中的重要性和实际应用场景。 一. Verilog 函数
    的头像 发表于 02-22 15:49 4877次阅读

    对象检测边界框损失函数–从IOU到ProbIOU介绍

    目标检测损失函数的选择在目标检测问题建模中至关重要。通常,目标检测需要两个损失函数,一个用于对象分类,另一个用于边界框回归(BBR)。
    的头像 发表于 01-24 10:50 2511次阅读
    对象检测边界框<b class='flag-5'>损失</b><b class='flag-5'>函数</b>–从IOU到ProbIOU<b class='flag-5'>介绍</b>

    电压偏差和电压损失的关系是什么?如何确定线路电压损失

    电压偏差和电压损失的关系是什么?如何确定线路电压损失? 电压偏差是指实际的电压值与额定电压之间的差异。电压损失则是指电能在输送过程中由于电阻、电感、电容等因素引起的能量损失。 电压偏差
    的头像 发表于 12-25 17:19 583次阅读

    wps的vlookup函数的使用方法及实例

    WPS Office是一款功能全面的办公软件,其中的VLOOKUP函数在数据分析和处理中非常常用。在本文中,我们将详细介绍WPS Office中VLOOKUP函数的使用方法,并提供一些实例来说明其
    的头像 发表于 12-01 10:58 3720次阅读

    XLOOKUP函数怎么使用

    XLOOKUP函数是Excel 365版本中新增的一项非常强大的查找和引用函数。它可以用于查找表格中的值,并返回相关信息。本文将介绍XLOOKUP函数的使用方法以及其在实际工作中的应用
    的头像 发表于 12-01 10:54 2097次阅读

    vlookup函数的使用方法

    的某个值,并返回该值所对应的其他相关信息。在本篇文章中,我们将详细介绍VLOOKUP函数的使用方法,以帮助读者更好地理解和掌握这个函数。 首先,让我们来了解VLOOKUP函数的语法。V
    的头像 发表于 11-30 17:13 3051次阅读

    if函数如何嵌套计算公式

    嵌套if函数可以在Excel等电子表格软件中实现复杂的条件判断和计算公式。本文将详细介绍if函数的嵌套使用方法,包括语法、常见应用场景和实例演示等,以及注意事项和进阶技巧。 一、if函数
    的头像 发表于 11-30 16:55 6370次阅读

    IF和ISNA和Vlookup函数一起使用

    IF、ISNA和VLOOKUP是Excel中常用的三个函数,它们在数据处理和分析中扮演着重要的角色。通过结合使用这三个函数,我们可以根据特定的条件查询和处理数据,提高我们的工作效率。本文将详细介绍
    的头像 发表于 11-30 16:25 4546次阅读

    python中各种函数的用法

    Python中有很多种不同类型的函数,它们在解决各种问题和完成不同任务时起着重要的作用。下面我将详细介绍几种常用的函数,包括内置函数、自定义函数
    的头像 发表于 11-23 15:48 698次阅读

    range()函数的用法是什么

    说明: start:序列的起始值,默认为0(可省略)。 stop:序列的结束值(不包含在序列内)。 step:序列中的元素间隔,默认为1(可省略)。 下面我们详细介绍range()函数的使用方法和相关
    的头像 发表于 11-21 14:46 3719次阅读

    如何查看及更改函数/函数块的调用环境

    是循环执行,当一个功能块被多个外部函数/函数块调用时,我们应如何查看某一次调用时的内部变量呢?这涉及到函数块的调用环境问题,今天这篇文章,我们来介绍下如何查看及更改
    的头像 发表于 11-17 09:08 849次阅读
    如何查看及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b>块的调用环境