pytorch系列 --11 pytorch loss function: MSELoss BCELoss CrossEntropyLoss及one_hot 格式求 cross_entropy

本文主要包括:pytorch 实现的损失函数pytorch实现的loss function神经网络主要实现分类以及回归预测两类问题,对于回归问题,主要讲述均方损失函数,而对于一些回归问题,需要根据特殊情况自定义损失函数。对于分类,主要讲述二分类交叉熵和多分类交叉熵函数在讲解函数之前,提前说一下:所有的loss的基类是Module,所以使用loss的方法是:# 1. 创建损失函数...
摘要由CSDN通过智能技术生成

本文主要包括:

  1. pytorch 实现的损失函数

pytorch实现的loss function

神经网络主要实现分类以及回归预测两类问题,对于回归问题,主要讲述均方损失函数,而对于一些回归问题,需要根据特殊情况自定义损失函数。对于分类,主要讲述二分类交叉熵和多分类交叉熵函数

在讲解函数之前,提前说一下:

  1. 所有的loss的基类是Module,所以使用loss的方法是:
# 1. 创建损失函数对象,并指定返回结果,默认为:平均值 以MSE为例
criterion = MSELoss(reduction='...')
# 2.  定义input x, traget y
x = torch.tensor(...) 
y = torch.tensor(...)
# 计算损失函数
loss = criterion(x, y)
  1. 在pytorch 0.4中,参数size_averagereduce已被舍弃,使用reduction参数控制损失函数的输出行为。
  • reduction (string, optional)
    • ‘none’: 不进行数据降维,输出为向量
    • ‘elementwise_mean’: 将向量中的数累加求和,然后除以元素数量,返回误差的平均值
    • ‘sum’: 返回向量的误差值的和
1. class torch.nn.MSELoss(size_average=None, reduce=None, reduction='elementwise_mean')

计算输入x和标签y,n个元素平均平方误差(mean square error),x和y具有相同的Size

损失函数如下定义:
ℓ ( x , y ) = L = { l 1 , … , l N } ⊤ , l n = ( x n − y n ) 2 \ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad l_n = ( x_n - y_n )^2 (x,y)=L={ l1,,lN},ln=(xnyn)2
如果reduction != ‘none’:
ℓ ( x , y ) = { mean ⁡ ( L ) , if    reduction = ’elementwise_mean’ , sum ⁡ ( L ) , if    reduction = ’sum’ . \ell(x, y) = \begin{cases} \operatorname{mean}(L), & \text{if}\; \text{reduction} = \text{'elementwise\_mean'},\\ \operatorname{sum}(L), & \text{if}\; \text{reduction} = \text{'sum'}. \end{cases} (x,y)={ mean(L),sum(L),

  • 14
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值