【深度学习】损失函数介绍及代码实现

损失函数

​ 在深度学习中,损失函数是用来横向模型参数质量的函数,衡量的方式是比较网络输出和真实输出的差异

在这里插入图片描述

损失函数的不同名称:

  • 损失函数 loss function
  • 代价函数 cost function
  • 目标函数 objective function
  • 误差函数 error function

分类任务损失函数

多分类任务损失函数

​ 在多分类任务通常使用softmax将logits转换为概率的形式, 所以多酚类的交叉熵损失也叫做softmax损失,他的计算方法是:

在这里插入图片描述

其中:
y是样本x属于某一个类别的真实概率
而f(x)是样本属于某一类别的预测分数
S是softmax激活函数,将属于某一类别的预测分数转换成概率
L用来衡量真实值y和预测值f(x)之间差异性的损失结果

在这里插入图片描述

上图中的交叉熵损失为:

在这里插入图片描述

从概率角度理解,我们的目的是最小化正确类别所对应的预测概率的对数的负值(损失值最小),如下图所示:

在这里插入图片描述

# 分类损失函数:交叉熵损失使用nn.CrossEntropyLoss()实现。nn.CrossEntropyLoss()=softmax + 损失计算
def test():
    # 设置真实值: 可以是热编码后的结果也可以不进行热编码
    # y_true = torch.tensor([[0, 1, 0], [0, 0, 1]], dtype=torch.float32)
    # 注意的类型必须是64位整型数据
    y_true = torch.tensor([1, 2], dtype=torch.int64)
    y_pred = torch.tensor([[0.2, 0.6, 0.2], [0.1, 0.8, 0.1]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值