您现在的位置是:首页 > 正文

损失函数总结(二):L1Loss、MSELoss

2024-01-30 19:39:05阅读 0

损失函数总结(二):L1Loss、MSELoss

1 引言

在上一篇博文中介绍了损失函数是什么以及为什么使用损失函数,从这一篇博文就开始关于损失函数有哪些进行进一步的介绍。这里放一张损失函数的机理图:
在这里插入图片描述

2 损失函数

2.1 L1Loss

L1Loss(也称为MAE Loss, 平均绝对误差损失)是一种用于回归任务的损失函数。它用于度量模型的预测值与实际目标之间的绝对差距。L1Loss的数学表达式如下:
L L1 ( Y , Y ′ ) = 1 n ∑ i = 1 n ∣ y i − y i ′ ∣ L_{\text{L1}}(Y, Y') = \frac{1}{n} \sum_{i=1}^{n} |y_i - y_i'| LL1(Y,Y)=n1i=1nyiyi

其中:

  • L L1 ( Y , Y ′ ) L_{\text{L1}}(Y, Y') LL1(Y,Y) 是整个数据集上的L1损失。
  • n n n 是样本数量。
  • y i y_i yi 是第 i i i 个样本的实际目标值。
  • y i ′ y_i' yi 是第 i i i 个样本的模型预测值。

代码实现(Pytorch):

# L1Loss实现
loss = nn.L1Loss()
# 假设为预测值
input = torch.randn(3, 5, requires_grad=True)
# 实际值
target = torch.randn(3, 5)
# 计算损失函数
output = loss(input, target)
# 反向传播
output.backward()

特点:

  • 只计算预测值和真实值之间差的绝对值,对异常值(离群点)不敏感。

L1Loss损失函数适用于回归任务,但是由于其对异常值不敏感的特点,一般情况下效果均没MSELoss 效果好。现在很少使用。。。。

2.2 MSELoss

MSELoss(Mean Squared Error Loss,均方误差损失)是一种用于回归任务的损失函数,通常用于度量模型的预测值与实际目标之间的差距的平方。MSELoss的数学表达式如下:
L MSE ( Y , Y ′ ) = 1 n ∑ i = 1 n ( y i − y i ′ ) 2 L_{\text{MSE}}(Y, Y') = \frac{1}{n} \sum_{i=1}^{n} (y_i - y_i')^2 LMSE(Y,Y)=n1i=1n(yiyi)2

其中:

  • L MSE ( Y , Y ′ ) L_{\text{MSE}}(Y, Y') LMSE(Y,Y) 是整个数据集上的均方误差损失。
  • n n n 是样本数量
  • y i y_i yi 是第 i i i 个样本的实际目标值。
  • y i ′ y_i' yi 是第 i i i 个样本的模型预测值。

代码实现(Pytorch):

loss = nn.MSELoss()
input = torch.randn(3, 5, requires_grad=True)
target = torch.randn(3, 5)
output = loss(input, target)
output.backward()

特点:

  • 对于与实际值偏差较大的点会更加敏感。

MSELoss 广泛用于各种回归任务,算是最经典最常使用的损失函数。。。。

3 总结

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

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

网站文章

  • nodejs mysql连接与使用攻略

    nodejs mysql连接与使用攻略

    目录mysql安装nodejs连接mysql mysql安装 首先确保mysql的安装,去官网下载对应的安装包解压。 我的安装目录是在D:\MySQL\mysql-8.0.20-winx64。 添加环...

    2024-01-30 19:38:57
  • Python爬虫相关知识

    Python爬虫相关知识

    正则表达式:开源中国测试网站匹配最近的那个好匹配最远的那个好requests.exceptions.ConnectionError:Max retries exceeded with url(Caused by NewConnectionError(’<…错误解决办法

    2024-01-30 19:38:30
  • 阿里云sts结合kms服务

    阿里云的sts集合kms服务 1.服务需要每次先请求临时的keyid和secret以及token,然后用其来获得加密文件的所需密钥。 由于不能讲原始的key等机密数据始终携带在代码中,所以才去机器授权...

    2024-01-30 19:38:21
  • linux - jenkins安装与卸载 最新发布

    3.执行完毕后,去修改jenkins配置。4. jenkins服务启动。5.卸载jenkins命令。1.下载jenkins包。

    2024-01-30 19:38:14
  • 戴尔vostro 5460 开不了机,按电源键没反应。

    戴尔vostro 5460 开不了机,按电源键没反应。

     戴尔vostro 5460 开不了机,按电源键没反应。 本打算送修,但已经过保修期了。上次去修花了500,开机检查350。 自己拆机。给主板电池放电,搞定,省了500大洋。  把主板电池的插头拔了,等几秒钟,在插上。开机试试看。祝好运

    2024-01-30 19:37:43
  • python line.strip().split(),python: line=f.readlines()消除line中\n的方法

    python line.strip().split(),python: line=f.readlines()消除line中\n的方法

    测试代码#结果:#[&#39;eray\n&#39;, &#39;eray\n&#39;, &#39;bike\n&#39;]#打印出来的带 \n ,怎么去掉\n呢?#解决方法:#1、#结果:#[&#...

    2024-01-30 19:37:37
  • nginx tcp

    nginx tcp

    2024-01-30 19:37:22
  • mybatisplus-spring-boot-starter 1.0.4

    mybatisplus-spring-boot-starter 1.0.4引入逻辑删除插件

    2024-01-30 19:37:15
  • H5图片点击放大 最新发布

    使用原生js实现点击图片进行放大预览

    2024-01-30 19:36:45
  • Java笔记--基于注解的DI 之 @Component和@Value--2021-08-14

    基于注解的DI 之 @Component和@Value一、@Component二、@Value 一、@Component @Component 创建对象的,等同于的功能 属性:value 就是对象的名...

    2024-01-30 19:36:38