ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pytorch 11 mae、mse、BCELoss、BCEWithLogitsLoss和CrossEntropyLoss等loss的使用

2022-01-04 19:34:52  阅读:311  来源: 互联网

标签:11 loss 梯度 回归 torch CrossEntropyLoss 线性 mse


在深度学习任务中,根据loss的设计可以简单的分为线性回归、逻辑回归和softmax回归。

一、线性回归loss

其中线性回归是指拟合一个线性函数,通常用mse、mae来评价模型的拟合效果,此外mse、mae还可以作为loss训练模型。需要格外注意的是loss值的大小毫无意义,只有梯度值才是决定模型学习的方向。只是,一般情况下loss与梯度呈现正相关,loss大,则梯度也大。在线性回归中,y_pred的shape与y_true是一模一样的。需要注意pytorch的系统函数中在线性回归中对label的的数值类型没有限制。

1.1 mse的使用

当用mse为评价指标时,才用考虑异常值取平方的影响。做loss时,其导数是2*w,对于梯度的影响并没有像loss那样离谱。

梯度大的时候对异常值敏感,(1000-100)=900mse loss=(1000-10)^2=8100 
mse loss下梯度值为 2*1000-2*10=1980,可以看出离群点影响大【可以检出异常值,低漏检高误检】,或许会导致梯度爆炸
当离群点是本身就存在异常数据,是可取的(过度关注异常点数据)
梯度值大于x的本身值,容易梯度下降过程中导致震荡(需要吧学习率调小)

import torch
from torch import nn
torch.manual_seed(50) #随机种子确保每次input tensor值是一样的
preds = torch.randn((4,), dtype=torc

标签:11,loss,梯度,回归,torch,CrossEntropyLoss,线性,mse
来源: https://blog.csdn.net/a486259/article/details/122309180

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有