torch的常用损失函数

torch的常用损失函数

nn.L1Loss

 

 loss(xi,yi)=|xi−yi|

x,y需要有一样的维度。

nn.MSELoss

均方损失函数

loss(xi,yi)=(xi−yi)2loss(xi,yi)=(xi−yi)2

nn.BCELoss

二分类用的交叉熵,用的时候需要在该层前面加上 Sigmoid 函数。交叉熵的定义参考 wikipedia 页面。

因为离散版的交叉熵定义是 ,其中 p,qp,q 都是向量,且都是概率分布。如果是二分类的话,因为只有正例和反例,且两者的概率和为 1,那么只需要预测一个概率就好了,因此可以简化成

nn.CrossEntropyLoss

多分类用的交叉熵损失函数,用这个 loss 前面不需要加 Softmax 层。

torch的常用损失函数_第1张图片

nn.KLDivLoss

KL 散度,又叫做相对熵,算的是两个分布之间的距离,越相似则越接近零。 

注意这里的 xixi 是 loglog 概率,刚开始还以为 API 弄错了。

 

你可能感兴趣的:(创新实训)