一、损失函数
1. 概述
用来 衡量模型参数质量的函数,比较网络输出和真实输出的差异,也称为 代价、目标、误差函数:

2. 分类任务的损失函数
(1)多分类
多分类的交叉熵损失 也叫 softmax损失,计算方法:

y:样本x属于某一类别的真实概率
f(x):样本属于某一类别的预测分数
S:softmax激活函数
L:衡量真实值y 和预测值 f(x) 之间的差异
在pytorch中使用nn.CrossEntropyLoss()实现:
# 设置真实值(可热编码)
y_true = torch.tensor([1, 2], dtype=torch.int64)
# 实例化 交叉熵损失
loss = nn.CrossEntropyLoss()
# 计算损失结果
my_loss = loss(y_pred, y_true).detach().numpy()
(2)二分类
用sigmoid激活函数,二分类的交叉熵损失函数:

y:样本x属于某一类别的真实概率
y^:样本属于某一类别的预测概率
L:衡量真实值y 和预测值 y^ 之间的差异
在pytorch中实现时使用nn.BCELoss():
# 实例化二分类交叉熵损失
loss = nn.BCELoss()
3. 回归任务
(1)MAE
(Mean absolute loss):L1 Loss,以绝对误差作为距离
损失函数公式:

特点:1. 具有稀疏性,为了惩罚较大的值,常作为正则项 添加到其他 loss中作为约束
2. 最大问题是 梯度在零点不平滑,会跳过极小值
在pytorch中实现时使用nn.L1Loss():

最低0.47元/天 解锁文章
1044

被折叠的 条评论
为什么被折叠?



