交叉熵和mse_常见的损失函数

本文介绍了常见的损失函数,包括用于回归问题的MSE(均方差)和MAE(平均绝对误差),以及用于分类问题的交叉熵损失。MSE在误差增大时增加更快,但对异常值敏感;MAE对异常值更鲁棒,但收敛速度较慢。交叉熵损失在分类任务中优于MSE,因为它符合信息论的原理。此外,还提到了Hinge Loss,它是SVM的损失函数,适用于最大间隔分类。
摘要由CSDN通过智能技术生成

1. 均方差损失 MSE Loss (L2 Loss)

针对回归问题

MSE也称为L2 loss:

随着预测与真实值的绝对误差的增加,均方差损失呈二次方增加。

MSE Loss

2. 平均绝对误差损失 MAE Loss (L1 Loss)

针对回归问题

MAE Loss

MSE和MAE的区别

MSE可以更快收敛:

MSE的损失梯度为

,MAE的损失梯度为+-1,也就是说MSE的梯度scale会随着误差大小变化,而MAE的梯度则一直保持为1(即使是在绝对误差很小的情况下).

MAE对于outlier更加鲁棒:

MAE损失对于绝对误差是线性关系,MSE是平方关系。当误差非常大的时候,MSE损失会远远大于MAE,导致对模型的影响比较大。

3. Huber Loss

针对回归问题

Huber Loss将L1和L2结合起来,也被称做smoothed L1 Loss。增加了一个需要额外设置的超参数

,来控制L2和L1的连接位置。 在误差接近0的时候使用L2,使损失函数可导,梯度更加稳定;误差较大的时候用L1,可以降低outlier带来的巨大误差的影响。

Huber Loss

4. 交叉熵损失 Cross Entropy Loss

针对分类问题

二分类

二分类中,通常使用Sigmoid函数将模型的输出压缩到(0, 1)区间。给定输入

,模型判断为正类/负类的概率:

合并成一个:

取对数加负号之后,得到:

N是所有样本的数量。

图中曲线可以看出,当预测值越接近目标值损失越小,随着误差变差,损失呈现指数增长。

Cross Entropy Loss

多分类

真实值

现在是一个One-hot向量,Sigmoid换成了Softmax来把输出值压缩到(0, 1)之间,所有维度的输出和为1.

Softmax公式:

表示K个类别中的一个,k只在对应的类别上是1,其他时候是0。

于是上式可以改写成:

是样本

的目标类。

Cross Entropy和MSE

分类问题中为什么不用MSE? 因为MSE假设了误差服从高斯分布,在分类任务下这个假设无法满足,因此效果会很差。

第二个论点是从信息论的角度来分析的,是关于由KL散度的角度来推导Cross Entropy的过程(原文)

5. Hinge Loss

是另一种二分类损失函数,适用于Maximum-margin的分类,SVM的损失函数就是hinge loss + L2正则化

下图为,当y为正类的时候(

),不同的输出

对应的loss图

Hinge Loss

当y为正类时,模型输出负值会有很大的惩罚。即使输出为正值在(0, 1)区间,也还是会有一个较小的惩罚。也就是只有置信度高的才会有零损失。使用hinge loss直觉上的理解是要找到一个决策边界,使得素有数据点被这个边界正确地,高置信度地被分类。

同时hinge loss也反应了一点,对于那些已经可以被很好分类的样本,它不再对loss产生贡献,可以让模型花更多的energy去学习难以分类的样本。

References

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值