最全的损失函数汇总

ML中常用的归一化/标准化/正则化区别与联系 先行知识——量纲、方差、标准差、均方差、均方误差的概念 量纲——量纲(dimensionh)是指物理量的基本属性。均方误差物理学的研究可定量地描述各种物理现象,描述中所采用的各类物理量之间有着密切的关系,即它们之间具有确定的函数关系。为了准确地描述这些关系,物理量可分为基本量和导出量。基本量是具有独立量纲的物理量,导出量是指其量纲可以表示为基本量量纲组合的物理量;一切导出量均可从基本量中导出,由... 阅读详情

作者:mingo_敏

编辑:深度学习自然语言处理

链接:

https://blog.youkuaiyun.com/shanglianlm/article/details/85019768

tensorflow和pytorch很多都是相似的,这里以pytorch为例。

19种损失函数

1. L1范数损失 L1Loss

计算 output 和 target 之差的绝对值。

torch.nn.L1Loss(reduction='mean')

参数:

reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

2 均方误差损失 MSELoss

计算 output 和 target 之差的均方差。

torch.nn.MSELoss(reduction='mean')

参数:

reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

3 交叉熵损失 CrossEntropyLoss

当训练有 C 个类别的分类问题时很有效. 可选参数 weight 必须是一个1维 Tensor, 权重将被分配给各个类别. 对于不平衡的训练集非常有效。

在多分类任务中,经常采用 softmax 激活函数+交叉熵损失函数,因为交叉熵描述了两个概率分布的差异,然而神经网络输出的是向量,并不是概率分布的形式。所以需要 softmax激活函数将一个向量进行“归一化”成概率分布的形式,再采用交叉熵损失函数计算 loss。

torch.nn.CrossEntropyLoss(weight=None,ignore_index=-100, reduction='mean')

参数:

weight (Tensor, optional) – 自定义的每个类别的权重. 必须是一个长度为 C 的 Tensor

ignore_index (int, optional) – 设置一个目标值, 该目标值会被忽略, 从而不会影响到 输入的梯度。

reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

4 KL 散度损失 KLDivLoss

计算 input 和 target 之间的 KL 散度。KL 散度可用于衡量不同的连续分布之间的距离, 在连续的输出分布的空间上(离散采样)上进行直接回归时 很有效.

torch.nn.KLDivLoss(reduction='mean')

参数:

reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

5 二进制交叉熵损失 BCELoss

二分类任务时的交叉熵计算函数。用于测量重构的误差, 例如自动编码机. 注意目标的值 t[i] 的范围为0到1之间.

torch.nn.BCELoss(weight=None, reduction='mean')

参数:

weight (Tensor, optional) – 自定义的每个 batch 元素的 loss 的权重. 必须是一个长度为 “nbatch” 的 的 Tensor

6 BCEWithLogitsLoss

BCEWithLogitsLoss损失函数把 Sigmoid 层集成到了 BCELoss 类中. 该版比用一个简单的 Sigmoid 层和 BCELoss 在数值上更稳定, 因为把这两个操作合并为一个层之后, 可以利用 log-sum-exp 的 技巧来实现数值稳定.

torch.nn.BCEWithLogitsLoss(weight=None, reduction='mean', pos_weight=None)

参数:

weight (Tensor, optional) – 自定义的每个 batch 元素的 loss 的权重. 必须是一个长度 为 “nbatch” 的 Tensor

7 MarginRankingLoss
torch.nn.MarginRankingLoss(margin=0.0, reduction='mean')

对于 mini-batch(小批量) 中每个实例的损失函数如下:

参数:

margin:默认值0


8 HingeEmbeddingLoss
torch.nn.HingeEmbeddingLoss(margin=1.0,  reduction='mean')

对于 mini-batch(小批量) 中每个实例的损失函数如下:

参数:

margin:默认值1

9 多标签分类损失 MultiLabelMarginLoss
torch.nn.MultiLabelMarginLoss(reduction='mean')

对于mini-batch(小批量) 中的每个样本按如下公式计算损失:

10 平滑版L1损失 SmoothL1Loss

也被称为 Huber 损失函数。

torch.nn.SmoothL1Loss(reduction='mean')


其中

11 2分类的logistic损失 SoftMarginLoss
torch.nn.SoftMarginLoss(reduction='mean')



12 多标签 one-versus-all 损失 MultiLabelSoftMarginLoss
torch.nn.MultiLabelSoftMarginLoss(weight=None, reduction='mean')


13 cosine 损失 CosineEmbeddingLoss
torch.nn.CosineEmbeddingLoss(margin=0.0, reduction='mean')


参数:

margin:默认值0

14 多类别分类的hinge损失 MultiMarginLoss
torch.nn.MultiMarginLoss(p=1, margin=1.0, weight=None,  reduction='mean')


参数:

p=1或者2 默认值:1
margin:默认值1

15 三元组损失 TripletMarginLoss

和孪生网络相似,具体例子:给一个A,然后再给B、C,看看B、C谁和A更像。

torch.nn.TripletMarginLoss(margin=1.0, p=2.0, eps=1e-06, swap=False, reduction='mean')


其中:

16 连接时序分类损失 CTCLoss

CTC连接时序分类损失,可以对没有对齐的数据进行自动对齐,主要用在没有事先对齐的序列化数据训练上。比如语音识别、ocr识别等等。

torch.nn.CTCLoss(blank=0, reduction='mean')

参数:

reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

17 负对数似然损失 NLLLoss

负对数似然损失. 用于训练 C 个类别的分类问题.

torch.nn.NLLLoss(weight=None, ignore_index=-100,  reduction='mean')

参数:

weight (Tensor, optional) – 自定义的每个类别的权重. 必须是一个长度为 C 的 Tensor

ignore_index (int, optional) – 设置一个目标值, 该目标值会被忽略, 从而不会影响到 输入的梯度.

18 NLLLoss2d

对于图片输入的负对数似然损失. 它计算每个像素的负对数似然损失.

torch.nn.NLLLoss2d(weight=None, ignore_index=-100, reduction='mean')

参数:

weight (Tensor, optional) – 自定义的每个类别的权重. 必须是一个长度为 C 的 Tensor

reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

19 PoissonNLLLoss

目标值为泊松分布的负对数似然损失

torch.nn.PoissonNLLLoss(log_input=True, full=False,  eps=1e-08,  reduction='mean')

参数:

log_input (bool, optional) – 如果设置为 True , loss 将会按照公 式 exp(input) - target * input 来计算, 如果设置为 False , loss 将会按照 input - target * log(input+eps) 计算.

full (bool, optional) – 是否计算全部的 loss, i. e. 加上 Stirling 近似项 target * log(target) - target + 0.5 * log(2 * pi * target).

eps (float, optional) – 默认值: 1e-8

数据标准化与归一化 特征归一化、标准化的理解 数据集如果标准化处理,对机器学习中的很多算法(包括梯度下降),会有很好的优化效果。如果数据未标准化(例如,数据集特征之间相差的数量级较大时),很多算法的表现性能不佳。 首先理解方差、标准差和均方根误差的区别 方差(variance) 衡量随机变量或一组数据的离散(偏离)程度 概率论中,方差是用来度量随机变量和其数学期望的(均值)之间的偏离程度。 统计学中,各数据分别... 阅读详情

相关推荐

史上最全交叉熵损失函数详解

在我们自学神经网络神经网络的损失函数的时候会发现有一个思路就是交叉熵损失函数,交叉熵的概念源于信息论,一般用来求目标与预测值之间的差距。比如说我们在人脑中有一个模型,在神经网络中还有一个模型,我们需要找到神经网络模型跟人脑模型最相近的那一个,那就需要找到一个方法需要定量的去看待两个模型的差异。 文章目录一、交叉熵是什么?二、熵是什么?三、信息量是什么?总结 一、交叉熵是什么? 交叉熵其实就是运用了熵的概念先把模型转化为熵的数值然后用数值去比较模型之间的差异。 那为什么要用熵?熵是指一个模型体系的混乱程度。

qq_48385934的博客 1万+

【深度学习】一文看尽Pytorch之十九种损失函数

仅作学术分享,不代表本公众号立场,侵权联系删除转载于:作者:mingo_敏原文链接:https://blog.youkuaiyun.com/shanglianlm/article/details/85019768导读本文汇总了十九种损失函数,介绍了其数学公式和代码实现方式,希望大家可以熟练掌握。01基本用法criterion = LossCriterion() #构造函数有自己的参数...

fengdu78的博客 3518

图像处理之图像质量评价指标MSE(均方误差)

MSE全称为“Mean Square Error”,中文意思即为均方误差,是衡量图像质量的指标之一。计算原理为真实值与预测值的差值的平方然后求和再平均,公式如下。 其中, M为图像I的像素总数,N为图像K的像素总数。MSE值越小,说明图像越相似。计算MSE有四种方法。

qq_44111805的博客 2万+

PyTorch中常用损失函数整理

更新自己所研究领域(图像语义分割、点云语义分割、点云实例分割)中的常用损失函数整理。

Justin_JGT的博客 1767

损失函数篇 | YOLOv8 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

YOLOv8 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

Coding... 2万+

损失函数篇 | YOLOv10 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

损失函数篇 | YOLOv10 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

Coding... 1530

【深度学习】最全的十九种损失函数汇总

【深度学习】最全的十九种损失函数汇总

wzk4869的博客 3万+

YOLOv13涨点改进 | 最全损失函数改进篇 | SIoU 、WIoU、GIoU、DIoU、EIOU、CIoU, InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

本文详细介绍了如何为YOLOv13模型添加多种IoU损失函数的教程。文章分三步指导用户修改代码:首先替换metrics.py中的bbox_iou方法,支持SIoU、WIoU、GIoU等9种损失函数;其次修改loss.py中的调用参数;最后调整tal.py中的相关代码。作者特别推荐在模型结构优化完成后再尝试损失函数改进,并提供了InnerIoU等特殊损失函数的使用建议。文章还附带了500+创新改进点的YOLOv13专栏推荐,帮助研究者提升模型性能。完整代码和详细步骤已提供,适合希望优化目标检测模型的开发者参考

Ai缝合怪、助力小伙伴高效发论文 405

【深度学习】最全的损失函数汇总

作者:mingo_敏编辑:深度学习自然语言处理链接:https://blog.youkuaiyun.com/shanglianlm/article/details/85019768tensorflow和pytorch很多都是相似的,这里以pytorch为例。19种损失函数1. L1范数损失 L1Loss计算 output 和 target 之差的绝对值。torch.nn.L1Loss(reduction='m...

fengdu78的博客 334

Cursor概述及环境配置

Cursor 是一款基于 AI 的代码编辑器,支持 VS Code 配置迁移和 Java 开发环境配置。主要功能分为 Cursor Settings(AI 相关设置)和 Editor Settings(基础编辑器设置)。用户可通过一键导入或手动方式迁移 VS Code 配置,配置包括主题、扩展和快捷键等。对于 Java 开发,需配置 JDK 和 Maven 路径,并安装 Java 扩展插件以获得完整开发体验,如代码补全、调试和 Maven 项目管理。此外,Cursor 支持汉化配置,用户可安装中文语言包切换

Knight 3560

国产Flash替代方案:手把手教你用XSCT烧写ZYNQ7045的BOOT.BIN(附完整命令解析)

本文详细介绍了国产Flash替代方案在ZYNQ7045上的应用,通过XSCT工具链实现BOOT.BIN的精准烧写。内容涵盖国产Flash兼容性检查、PetaLinux环境搭建、XSCT烧写全流程及故障排查,帮助开发者高效完成国产化替代,提升硬件开发效率。

weixin_33670786的博客 431

【机器学习】最全的损失函数汇总

作者:mingo_敏编辑:深度学习自然语言处理链接:https://blog.youkuaiyun.com/shanglianlm/article/details/85019768tensorflow和pytorch很多都是相似的,这里以pytorch为例。19种损失函数1. L1范数损失 L1Loss计算 output 和 target 之差的绝对值。torch.nn.L1Loss(reduction='m...

fengdu78的博客 722

AWS-解析mysql binlog同步数据方案

虽然是公有云的鼻祖,AWS在某些产品的实现却太不给力;可能是习惯了阿里云喂到嘴边的感觉,AWS很多方案需要自己折腾,蛋疼!比如这里要讲的mysql数据同步方案。 阿里云产品DTS,点几下就OK了,AWS,只能通过插件安装、配置、调试、蹚坑……,具体就是用msk的debezium插件连接器。没见识过的一脸懵逼,下面说下配置步骤和一些注意的坑。

sdmei 1408

二分类交叉熵损失函数python_最全的损失函数汇总 - statistician - OSCHINA - 中文开源技术交流社区...

↑↑点击上方蓝字,回复机器学习,N个G的惊喜资料作者:mingo_敏编辑:深度学习自然语言处理链接:https://blog.youkuaiyun.com/shanglianlm/article/details/85019768tensorflow和pytorch很多都是相似的,这里以pytorch为例。19种损失函数1. L1范数损失 L1Loss计算 output 和 target 之差的绝对值。torc...

weixin_39788256的博客 610

雷达原理习题答案【西电】

  目前教材用的是陈老师新版的,但是,我发现课后题有一部分是之前某本书里的。答案如下【建议参看原题→查阅答案】 【原题点这里!!点这里!!】 目录跳转功能目前好像只支持网页版 文章目录% 第一章、第二章% 第三章% 第四章% 第五章% 第六章% 第七章% 第八章 % 第一章、第二章 % 第三章 % 第四章 % 第五章 % 第六章 % 第七章 % 第八章 ...

薛定谔的壳的博客 1万+

智能体在车联网中的应用:第9天 核心工具链与仿真世界:SUMO交通仿真入门——从安装到构建你的第一个虚拟十字路口

摘要 SUMO是一款开源微观交通仿真工具,为车联网和自动驾驶算法开发提供高效安全的测试环境。文章详细介绍了SUMO的核心概念、安装方法及实战应用。在Ubuntu或Windows系统安装SUMO后,可通过netedit工具构建十字路口路网,包括创建节点、连接边、设置交通信号灯等步骤。随后通过编写.rou.xml文件定义车辆类型、路线和车流,实现动态交通场景模拟。SUMO支持与外部程序交互,能复现真实场景、进行极端测试和算法验证,是车联网研究的理想数字沙盘。

IT深耕十余载,大道之简 1455

深度学习十五大损失函数汇总!魔改loss水论文新思路?

通常表示为,其值越小,表明模型的预测越接近真实值,从而模型的鲁棒性越好。新增20多门3D视觉系统课程、入门环境配置教程、多场顶会直播、顶会论文最新解读、3D视觉算法源码、求职招聘。新增20多门3D视觉系统课程、入门环境配置教程、多场顶会直播、顶会论文最新解读、3D视觉算法源码、求职招聘。添加微信:cv3d001,备注:方向+单位,邀你入3D视觉交流群!3D视觉硬件,官网:www.3dcver.com。想要入门3D视觉、做项目、搞科研,想要入门3D视觉、做项目、搞科研,

3D视觉工坊 113

倾斜摄影与激光点云融合建模:Photoscan+ContextCapture避坑指南

本文详细解析了倾斜摄影与激光点云融合建模的技术流程,重点介绍了使用Agisoft Metashape(原Photoscan)与ContextCapture进行数据融合的实战指南。文章深入探讨了数据预处理、坐标系统一、空三计算策略及在ContextCapture中进行点云配准等关键步骤,旨在帮助从业者规避常见陷阱,高效构建兼具高精度几何与真实纹理的三维实景模型。

weixin_29062613的博客 250

CNN损失函数学习(最全)

损失函数的学习一、损失函数的概念二、回归损失(Regression Loss)1.L1 Loss2.L2 Loss3.Smooth L1 Loss4.IoU Loss5.GIoU Loss6.DIoU Loss7.CIoU Loss8.F-EIoU Loss8.CDIoU Loss三、分类损失1.Entropy2.Cross Entropy3.K-L Divergence4.Dice Loss5.Focal Loss6.Tversky loss总结导入 一、损失函数的概念 在机器学习中,损失函数是代价函数

weixin_42495721的博客 1万+

从生产订单到整车交付,SAP 离散制造在汽车行业里的真实落点

汽车行业谈数字化,很容易一上来就谈智能工厂、数字孪生、AI 排产、无人仓、视觉质检。可落到 SAP 项目现场,真正把工厂撑起来的,往往还是几个很朴素的问题,客户订单来了以后,BOM 能不能准确展开,物料能不能准时到线,产能有没有被过度承诺,生产订单能不能被车间正确执行,质量问题能不能追溯,成本能不能按工单和批次沉淀下来。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 115

基于 YOLOv26 的食品包装缺陷检测系统:智能视觉质检方案

本文提出了一种基于YOLOv26深度学习的食品包装缺陷智能检测系统。该系统能够自动识别多种常见包装缺陷,包括密封不良、破损、污染、标签错误等8类问题。相比传统人工检测方法,该系统具有高精度、多类别分类、实时推理等优势。文章详细介绍了系统架构,包含数据采集、预处理、YOLOv26检测模型和后处理四个核心模块,并提供了完整的环境配置和数据处理代码实现。该系统为食品包装行业提供了一种高效、准确的智能视觉质检解决方案。

一键难忘的博客 691
上一篇: SVM 和最优化
下一篇: XGBoost你真的懂吗?我不信.....
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值