Pytorch损失函数

定义

损失函数(Loss Function)
Loss=f(a^,y)Loss=f( \hat{a} ,y)Loss=f(a^,y)

代价函数(Cost Function)
Cost=1N∑iNf(yi^,yi)Cost=\frac{1}{N}\sum_{i}^{N}f(\hat{y_{i}},y_{i})Cost=N1iNf(yi^,yi)

目标函数(Objective Function)
Obj=Cost+RegularizationObj=Cost+RegularizationObj=Cost+Regularization

在Pytorch中如何定义

损失函数要继承于nn.Moudle
参数size_average和reduce已经弃用,现在统一使用reduction参数

几种损失函数

1.CrossEntropyLoss
在这里插入图片描述
在这里插入图片描述
具体推导过程:
在这里插入图片描述
交叉熵:H(P,Q)=DKL(P,Q)+H(P)交叉熵:H(P,Q)=D_{KL}(P,Q)+H(P)H(P,Q)=DKL(P,Q)+H(P)
所以优化交叉熵是在优化相对熵

对于nn.CrossEntropyLoss来说,损失函数内部自带softmax,所以不需要人为额外在上一步执行softmax操作

2.nn.NLLLoss
在这里插入图片描述
仅仅实现负号的功能

3.nn.BCELoss
二分类
在这里插入图片描述
因为是一个概率分布,在数据输入损失函数之前呢,需要经过一下Sigmoid来把输出值变成0~1之间

4.nn.BCEWithLogitsLoss
在这里插入图片描述
对于第三个损失函数的补足,不需要再模型中加入Sigmoid函数
并且多了一个参数pos_weight

5.nn.L1Loss和nn.MSELoss
在这里插入图片描述
前面为第一范数,后面的为第二范数

7.SmoothL1Loss
在这里插入图片描述

在这里插入图片描述
8.PoissonNLLLoss
在这里插入图片描述
9.nn.KLDivLoss
在这里插入图片描述
10.nn.MarginRankingLoss
在这里插入图片描述
11.nn.MultiLabelMarginLoss
多标签是指,一个样本对应多个类别
在这里插入图片描述
12nn.SoftMarginLoss
在这里插入图片描述
13.nn.MutiLabelSoftMarginLoss
在这里插入图片描述

14.在这里插入图片描述

15 .nn.TripletMarginLoss
在这里插入图片描述
16.在这里插入图片描述
17.在这里插入图片描述
18.nn.CTCLoss
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值