损失函数总结(十六):NRMSELoss、RRMSELoss

损失函数总结(十六):MSLELoss、RMSLELoss

  • 1 引言
  • 2 损失函数
    • 2.1 NRMSELoss
    • 2.2 RRMSELoss
  • 3 总结

1 引言

在前面的文章中已经介绍了介绍了一系列损失函数 (L1LossMSELossBCELossCrossEntropyLossNLLLossCTCLossPoissonNLLLossGaussianNLLLossKLDivLossBCEWithLogitsLossMarginRankingLossHingeEmbeddingLossMultiMarginLossMultiLabelMarginLossSoftMarginLossMultiLabelSoftMarginLossTripletMarginLossTripletMarginWithDistanceLossHuber LossSmoothL1LossMBELossRAELossRSELossMAPELossRMSELossLogCosh LossMSLELossRMSLELoss)。在这篇文章中,会接着上文提到的众多损失函数继续进行介绍,给大家带来更多不常见的损失函数的介绍。这里放一张损失函数的机理图:
在这里插入图片描述

2 损失函数

2.1 NRMSELoss

Normalized Root Mean Squared Error (归一化均方根误差,NRMSE) 将RMSE的值变成(0,1)之间, 有助于不同尺度模型之间的比较。NRMSELoss 的数学表达式如下:
L ( Y , Y ′ ) = 1 n ∑ i = 1 n ( y i − y i ′ ) 2 y ‾ L(Y, Y') = \frac{\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-y_i')^2}}{\overline y} L(Y,Y)=yn1i=1n(yiyi)2

其中:

  • y ‾ \overline y y: 表示观测值的平均值范围(定义为最大值减去最小值)。

代码实现(Pytorch):

import torch
import torch.nn as nn

# 创建模型的预测值和真实观测值
predicted = torch.tensor([2.0, 4.0, 6.0, 8.0, 10.0], dtype=torch.float32)
observed = torch.tensor([1.5, 4.2, 5.8, 7.9, 9.8], dtype=torch.float32)

# 自定义 NRMSE 损失函数
def nrmse_loss(predicted, observed):
    # 创建 MSLE 损失函数
	msle_loss = nn.MSELoss()
	
	# 计算 MSLE Loss
	rmse = torch.sqrt(msle_loss(predicted , observed ))
    observed_range = torch.max(observed) - torch.min(observed)
    nrmse = rmse / observed_range
    return nrmse

# 计算 NRMSE
loss = nrmse_loss(predicted, observed)

# 打印 NRMSE
print("Normalized Root Mean Squared Error (NRMSE):", loss.item())

NRMSELoss 与 RMSLE一致,存在低估比高估受到更严重的惩罚的问题。因此,仅在特殊情况使用。。。。

2.2 RRMSELoss

Relative Root Mean Squared Error (相对均方根误差,RRMSE) 是没有维度的 RMSE 变体。RRMSE 是一种均方根误差度量,它已根据实际值进行缩放,然后由均方根归一化。虽然原始测量的尺度限制了 RMSE,但 RRMSE 可用于比较各种测量方法。RRMSELoss 的数学表达式如下:
L ( Y , Y ′ ) = 1 n ∑ i = 1 n ( y i − y i ′ ) 2 ∑ i = 1 n ( y i ′ ) 2 L(Y, Y') = \sqrt\frac{{\frac{1}{n}\sum_{i=1}^{n}(y_i-y_i')^2}}{\sum_{i=1}^{n}(y_i')^2 } L(Y,Y)=i=1n(yi)2n1i=1n(yiyi)2

代码实现(Pytorch):

import torch
import torch.nn as nn

# 创建模型的预测值和真实观测值
predicted = torch.tensor([2.0, 4.0, 6.0, 8.0, 10.0], dtype=torch.float32)
observed = torch.tensor([1.5, 4.2, 5.8, 7.9, 9.8], dtype=torch.float32)

# 自定义 RRMSE损失函数
def rrmse_loss(predicted, observed):
    # 创建 MSLE 损失函数
	msle_loss = nn.MSELoss()
	
	# 计算 MSLE Loss
	mse = msle_loss(predicted , observed )
    robs_sum = torch.sum(torch.square(observed))
    rrmse = mse / robs_sum 
    return rrmse 

# 计算 RRMSE
loss = rrmse_loss(predicted, observed)

# 打印 RRMSE
print("Relative Root Mean Squared Error (RRMSE):", loss.item())

RRMSE更多的是作为一种评价指标来使用。损失函数的话更多的还是使用MSELoss。。。。

3 总结

到此,使用 损失函数总结(十六) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的损失函数也可以在评论区提出,后续会对其进行添加!!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/195644.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

做外贸用什么外贸邮箱比较好

作为外贸人,我们总是需要与国内外的客户保持紧密联系,那么选择一个稳定、高效的企业邮箱就显得尤为重要啦! 请允许我向您介绍Zoho Mail企业邮箱的优点: 高度稳定性:Zoho Mail企业邮箱采用了先进的技术架构&#xff0c…

服务器数据恢复—服务器重装系统导致逻辑卷发生改变的数据恢复案例

服务器数据恢复环境: 某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。 服务器故障&检测: 服务器在运行过程中突然瘫痪,管理员对服务器进行了重装…

电机伺服驱动学习笔记(6)PID算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、连续PID二、参数整定1.一般调节法 工具提示参考文献 前言 提示:本文是根据野火科技电机系列教学视频PID算法的通俗解说和参数整定视频课章节整…

【蓝桥杯选拔赛真题26】C++字符串逆序 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++字符串逆序 一、题目要求 1、编程实现 2、输入输出 二、算法分析

速通CSAPP(二)信息的表示和处理

Ch2. 信息的表示与处理 说实话,这部分的东西我到大四了,我觉得我看过不下10遍了。原码反码补码浮点运算之类的。 本章重点主要包括三种数: 无符号数:表示大于等于零的数。 有符号数:通常用补码表示。 浮点数&…

好用的IDEA插件推荐

前言 Idea 是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展,可以根据开发人员的需要进行定制和扩展,从而提高开发效率,今天我们就来介绍一款…

CH58x-BLE 程序阅读笔记

CH58x-BLE 程序阅读笔记 1. 广播1.1 广播类型设置1.2 广播数据长度 1. 广播 1.1 广播类型设置 1.2 广播数据长度 1) GAP-广播数据(最大大小31字节,但最好保持较短以节省广告时的电量) 31个字节包含了 length data type&a…

python爱心代码高级

在Python中,我们可以使用matplotlib库来创建一个更高级的爱心图形。以下是一个示例: import matplotlib.pyplot as pltimport numpy as npx np.linspace(-2, 2, 1000)y1 np.sqrt(1-(abs(x)-1)**2)y2 -3*np.sqrt(1-(abs(x)/2)**0.5)fig, ax plt.subp…

RandomAccessFile学习笔记

文章目录 RandomAccessFile学习笔记前言1、RandomAccessFile基本介绍1.1 RandomAccessFile相关基本概念1.2 RandomAccessFile家族体系 2、RandomAccessFile基本使用2.1 RandomAccessFile常用API介绍2.2 RandomAccessFile常用API演示2.3 RandomAccessFile实现断点续传 1、Random…

cadence virtuoso simulation文件夹删除

ADE XL仿真结果错误,与预期结果差别太大,与ADE L仿真结果也差别很大。 可能是由于仿真数据过多,卡爆了。 在virtuoso启动路径下,simulation文件夹是仿真过程文件,可以将此文件夹清空。 清空后ADE XL仿真结果正常了。…

Snagit 2024.0.1(Mac屏幕截图软件)

Snagit 2024是一款屏幕截图工具,可以帮助用户轻松捕获、编辑和分享屏幕截图。该工具在Mac上运行,旨在满足用户对于屏幕截图的各种需求。 Snagit 2024支持屏幕录制功能,可以录制摄像头和麦克风等外部设备,让用户录制更加全面的视频…

vue3中toRef创建一个ref对象

为源响应式对象上的某个属性创建一个 ref对象, 二者内部操作的是同一个数据值, 更新时二者是同步的 区别ref: 拷贝了一份新的数据值单独操作, 更新时相互不影响 应用: 当要将 某个prop 的 ref 传递给复合函数时&#xff0c;toRef 很有用 父组件代码: <template><…

“PredictingChildrenHeight“ app Tech Support(URL)

Using our app, we can predict a childs height through formulas. Because there are many factors that affect a childs height, it is for reference only. ​​​​​​​ If you have any questions, you can either leave a message or send the questions to our em…

零基础在ubuntu上搭建rtmp服务器-srs

搭建服务器 搭建 SRS&#xff08;Simple-RTMP-Server&#xff09;服务器需要一些步骤&#xff0c;以下是一个简单的步骤指南。请注意&#xff0c;SRS 的配置可能会有所不同&#xff0c;具体取决于你的需求和环境。在开始之前&#xff0c;请确保你的 Ubuntu 系统已经连接到互联…

Nacos 端口偏移量说明

因为安全原因&#xff0c;在部署nacos-2.2.3版本时&#xff0c;将nacos的application.properties中的server.port端口值由默认值8848改成了server.port8425 问题&#xff1a;nacos 启动时(sh start.sh -m standalone)报错 如下&#xff1a; 经过分析&#xff0c;原因是 9425 …

每日汇评:原油价格正在等待欧佩克对2024年供应削减配额的决定

OPEC会议推迟至周四&#xff0c;个别配额和供应削减仍然是会议的核心议题&#xff1b; 原油价格在欧佩克会议前持平&#xff0c;但是否有意外的看涨取决于欧佩克的减产&#xff1b; 布伦特原油价格在关键的82美元和200均线的交叉点被明显拒绝后走低&#xff1b; 上周三&#xf…

救助儿童会携手联劝公益在世界儿童日举办系列活动

2023年11月17日&#xff0c;为了呼吁家长关注对儿童情绪的关注与表达&#xff0c;救助儿童会携手联劝公益&#xff0c;以“走出情绪迷宫”为主题&#xff0c;于南丰城举办线下公益展&#xff0c;呼吁关注儿童心理健康。 本次展览由情绪迷宫、儿童艺术疗育活动、芝麻街互动三部分…

Docker-compose容器编排

Docker-compose容器编排 是什么 Compose 是 Docker 公司推出的一个工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml&#xff0c;写好多个容器之间的调用关系。然后&#xff0c;只要一个命令&#xff0c;就…

Doris-Routine Load(二十七)

例行导入&#xff08;Routine Load&#xff09;功能为用户提供了一种自动从指定数据源进行数据导入的功能。 适用场景 当前仅支持从 Kafka 系统进行例行导入&#xff0c;使用限制&#xff1a; &#xff08;1&#xff09;支持无认证的 Kafka 访问&#xff0c;以及通过 SSL 方…

解析直播第三方美颜SDK:技术原理与应用

时下&#xff0c;直播平台和主播们纷纷引入美颜技术&#xff0c;以提升视觉效果和用户体验。而在众多美颜技术中&#xff0c;直播第三方美颜SDK成为许多开发者和平台的首选&#xff0c;因其灵活性和高效性而备受推崇。 一、技术原理&#xff1a;美颜算法的精髓 第三方美颜SDK…