bert系列第二篇:几个损失函数

本文详细介绍了几种常见的损失函数,包括L1-Loss(MAE)、MSE(L2 Loss)、nllloss(negative-log-loss)和crossentropy。通过公式解析与实例计算,阐述了它们在不同场景下的应用,指出交叉熵损失函数在多分类问题中的重要性,并解释了NLLLoss实际上与交叉熵的关联。
摘要由CSDN通过智能技术生成

L1-Loss(MAE)

L o s s ( x , y ) = 1 N ∑ i ( ∣ x i − y i ∣ ) Loss(x,y)=\frac{1}{N} \sum_{i}( |x_i-y_i|) Loss(x,y)=N1i(xiyi)

简单而言,就是两个向量的绝对值的误差。 默认求平均,可以设置为sum。
也是mean absolute error(MAE)

举例而言:

 loss = nn.L1Loss()
    '''
    L1 Loss
    '''
    predict_ar = [0,2,3]
    target_ar = [2,2,3]
    input = torch.FloatTensor(predict_ar)
    input.requires_grad = True
    target = torch.FloatTensor(target_ar)
    output = loss(input, target)
    print(output)

结果则是0.667

MSE(L2 Loss)

这个也容易理解,则是平方误差。 mean squared error。

 loss = nn.MSELoss()
    '''
    L1 Loss
    '''
    predict_ar = [0, 2, 3]
    target_ar = [2, 2, 3]

    input = torch.FloatTensor(predict_ar)
    input.requires_grad = True
    target = torch.FloatTensor(target_ar)

    output = loss(input, target)
    print(output)

这个结果应该是4/3= 1.333

nllloss=negative-log-loss

https://pytorch.org/docs/stable/generated/torch.nn.NLLLoss.html#torch.nn.NLLLoss

The negative log likelihood loss. It is useful to train a classification problem with C classes.

这个loss有点不是非常容易理解,它主要的目标是

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值