Pytorch损失函数

定义

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

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

目标函数(Objective Function)
Obj=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)
所以优化交叉熵是在优化相对熵

对于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
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章