损失函数总结(十三):RSELoss、MAPELoss

损失函数总结(十三):RSELoss、MAPELoss

  • 1 引言
  • 2 损失函数
    • 2.1 RSELoss
    • 2.2 MAPELoss
  • 3 总结

1 引言

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

2 损失函数

2.1 RSELoss

Relative Squared Error (RSE) 衡量结果的不准确程度。RSELoss 将总平方误差除以简单预测变量的总平方误差以对其进行归一化。其中,这个简单的预测变量仅代表实际值的平均值。RSELoss 的数学表达式如下:
L ( Y , Y ′ ) = ∑ i = 1 n ( y i − y i ′ ) 2 ∑ i = 1 n ( y i − y ‾ ) 2 L(Y, Y') = \frac{ \sum_{i=1}^{n} (y_i - y_i')^2}{ \sum_{i=1}^{n} (y_i - \overline y)^2} L(Y,Y)=i=1n(yiy)2i=1n(yiyi)2

其中:
y ‾ = 1 N ∑ i = 1 N ( y i ) \overline y = \frac{1}{N}\sum_{i=1}^{N}(y_i) y=N1i=1N(yi)

代码实现(Pytorch):

import torch# 创建模型的预测值和真实观测值
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)# 计算 RSE
squared_error = (predicted - observed)**2
squared_sum_observed = torch.sum((observed - torch.mean(observed))**2)
rse = torch.sum(squared_error) / squared_sum_observed# 打印 RSE
print("Relative Squared Error (RSE):", rse.item())

RSELoss 不受预测的平均值或大小的影响。

2.2 MAPELoss

平均绝对百分比误差 (MAPE),是用于评估预测系统准确性的指标。它通过从实际值减去预测值的绝对值除以实际值来计算每个时间段的平均绝对百分比误差百分比。由于变量的单位缩放为百分比单位,因此平均绝对百分比误差 (MAPE) 广泛用于预测误差。当数据中没有异常值时,它效果很好,常用于回归分析和模型评估。MAPELoss 的数学表达式如下:
L ( Y , Y ′ ) = 1 N ∑ i = 1 N ∣ y i − y i ′ y i ∣ ∗ 100 % L(Y, Y') = \frac{1}{N}\sum_{i=1}^{N} |\frac{ y_i - y_i'}{ y_i }|*100\% L(Y,Y)=N1i=1Nyiyiyi100%

代码实现(Pytorch):

import torch# 创建模型的预测值和真实观测值
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)# 计算 MAPE
absolute_percentage_error = torch.abs((predicted - observed) / observed) * 100
mape = torch.mean(absolute_percentage_error)# 打印 MAPE
print("Mean Absolute Percentage Error (MAPE):", mape.item())

MAPELoss 容易收到异常值影响,还是MSELoss更为常用。。。。

3 总结

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day52【子序列】300.最长递归子序列 674.最长连续递增序列 718.最长重复子数组

文章目录 300.最长递增子序列674.最长连续递增序列718.最长重复子数组 300.最长递增子序列 题目链接:力扣链接 讲解链接:代码随想录链接 题意:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而…

最新ai系统ChatGPT商业运营版网站源码+支持GPT4.0/支持AI绘画+已支持OpenAI GPT全模型+国内AI全模型+绘画池系统

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

5.1 运输层协议概述

思维导图: 前言: 第5章 运输层笔记 1. 概览 主要内容:介绍运输层协议的特点、进程间通信、端口、UDP和TCP协议、可靠传输、TCP报文段的首部格式、TCP的关键概念(如滑动窗口、流量控制、拥塞控制和连接管理)。重要性…

当函数参数为一级指针,二级指针

当函数参数为一级指针,二级指针 在讲述内容之前,先讲四点重要知识 1.当传入参数时,函数形参会立即申请形参的内存空间,函数执行完毕后,形参的内存空间立即释放掉。 1.指针是存放其他变量地址的变量。指针有自己的内…

任正非说:人家问我:“你怎么一天到晚游手好闲?”我说我是管长江的堤坝的。

你好!这是华研荟【任正非说】系列的第26篇文章,让我们聆听任正非先生的真知灼见,学习华为的管理思想和管理理念。 一、我们不是靠人来领导这个公司,我们用规则的确定性来对付结果的不确定。人家问我:“你怎么一天到晚游…

HarmonyOS UI 开发

引言 HarmonyOS 提供了强大的 UI 开发工具和组件,使开发者能够创建吸引人的用户界面。本章将详细介绍在 HarmonyOS 中应用 JS、CSS、HTML,HarmonyOS 的 UI 组件以及如何自定义 UI 组件。 目录 JS、CSS、HTML 在 HarmonyOS 中的应用HarmonyOS 的 UI 组…

基于单片机设计的自动门控制系统

一、项目介绍 随着科技的不断发展,自动门成为公共场所、商业建筑和住宅社区等地的常见设施。自动门的出现使得进出门的操作更加便捷,提高了人们的生活质量和工作效率。为了实现自动门的开关控制,本项目基于单片机设计了一套自动门控制系统。…

高教社杯数模竞赛特辑论文篇-2018年D题:确定汽车装配顺序问题的算法(附获奖论文及C语言代码实现)

目录 摘 要 一、 问题重述 二、 问题分析 三、 模型假设 四、 定义与符号说明

数据结构───链表

花费一个周时间学完了链表(的一部分),简单总结一下。 链表的学习离不开画图,将其抽象成一种逻辑模型,可以减少思考时间,方便理解。 链表大致分为8种结构,自己学习并实现了两种结构,也…

ubuntu无网络连接,没有网络标识,快速解决方法

在这里插入代码片当我们装虚拟机的时候,需要用到网络时发现没有网络连接,且右上角没有网络标识符,这时只需要简单的输入一下三个命令即可 sudo nmcli networking offsudo nmcli networking onsudo service network-manager restart然后重启客…

Vue源码-各实现原理简单总结

1,双向数据绑定的实现 简单总结为:通过js的层层封装,互相调用,实际就是利用js的Object.defineProperty()方法,然后实现了一个发布订阅模式。 整体逻辑是在vue初始化的时候,通过Object.defineProperty()重写…

(二)FreeRTOS任务控制(1)

1.任务延时vTaskDelay //task. hvoid vTaskDelay( const TickType_t xTicksToDelay ); 必须将 INCLUDE_vTaskDelay 定义为 1,此函数才可用。按给定的 tick 数延迟任务。任务保持阻塞的实际时间取决于 tick 频率。 常量 portTICK_PERIOD_MS 配合 tick 周期分辨率可用…

问题 D: 免费馅饼(类数塔问题)

免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以…

【DriveGPT学习笔记】自动驾驶汽车Autonomous Vehicle Planning

原文地址:DriveGPT - Lei Maos Log Book 自动驾驶汽车的核心软件组件是感知、规划和控制。规划是指在给定场景或一系列场景的情况下为自动驾驶汽车制定行动计划的过程,以实现安全和理想的自动驾驶。 用于规划的场景是从感知软件组件获得的。计划的行动将…

深度学习——炼丹

学习率调整策略 自定义学习率调整策略 简单版 net MyNet()optimoptim.Adam(net.parameters(),lr0.05) for param_group in optim.param_groups: param_group["lr"] param_group["lr"]*0.5print(param_group["lr"]) #0.25复杂版&#…

(新手)vue git下载后无法在本地启动项目

npm run serve> xxxxxx0.1.0 serve > vue-cli-service serve vue-cli-service 不是内部或外部命令,也不是可运行的程序 或批处理文件。 原因:缺少依赖 npm i 是 npm install 的简写形式,是用于安装 JavaScript 包和模块的 npm 命令。 npm …

centos 7 kafka2.6单机安装及动态认证SASL SCRAM配置

目录 1.kfaka安装篇 1.1 安装jdk 1.2安装kafka 2.安全篇 2.1 kafka安全涉及3部份: 2.2 Kafka权限控制认证方式 2.3 SASL/SCRAM-SHA-256 配置实例 2.3.1 创建用户 2.3.2 创建 JAAS 文件及配置 3.测试 3.1 创建测试用户 3.2 配置JAAS 文件 3.2.1 生产者配…

arcgis删除细长图斑的方法

1、有一张图斑数据如下: 如上图,有很多细长的面要素,需要保留的仅是图中的块状要素。 2、首先要将被合并的要素进行拆分,具体拆分步骤如下: 将所有要素选中,点击高级编辑中的拆分按钮。 3、拆分后图斑就…

信号、进程、线程、I/O介绍

文章目录 信号进程进程通信线程可/不可重入函数线程同步互斥锁条件变量自旋锁读写锁 I/O操作阻塞/非阻塞I/OI/O多路复用存储映射I/O 信号 信号是事件发生时对进程的通知机制,可以看做软件中断。信号与硬件中断的相似之处在于其能够打断程序当前执行的正常流程。大多…

C语言每日一题(23)兔子的序列

牛客网 BC159 兔子的序列 题目描述 描述 兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列…