一、分类任务loss
1、二分类交叉熵损失 sigmoid_cross_entropy
2、多分类交叉熵损失 softmax_cross_entropy
3、focal loss
focal loss为凯明大神的大作,主要用于解决多分类任务中样本不平衡的现象,可以获得比softmax_cross_entropy更好的分类效果。
论文中α=0.25,γ=2效果最好。
4、合页损失 hinge_loss
也叫铰链损失,是svm中使用的损失函数。
由于合页损失优化到满足小于一定gap距离就会停止优化,而交叉熵损失却是一直在优化,所以,通常情况下,交叉熵损失效果优于合页损失。
5、中心损失center loss
中心损失主要主要用于减少类内距离,虽然只是减少了类内距离,效果上却可以表现出类内距离小了,类间距离就可以增大的效果。该损失不可以直接使用,需要配合传统的softmax loss一起使用。可以起到比单纯softmax loss更好的分类效果。
二、回归任务loss
1、均方误差mean squareerror(MSE)和L2范数
MSE表示了预测值与目标值之间差值的平方和然后求平均
L2损失表示了预测值与目标值之间差值的平方和然后开更方,L2表示的是欧几里得距离。
MSE和L2的曲线走势都一样。区别在于一个是求的平均np.mean(),一个是求的更方np.sqrt()
2、平均绝对误差meanabsolute error(MAE )和L1范数
MAE表示了预测值与目标值之间差值的绝对值然后求平均
L1表示了预测值与目标值之间差值的绝对值,L1也叫做曼哈顿距离
MAE和L1的区别在于一个求了均值np.mean(),一个没有求np.sum()。2者的曲线走势也是完全一致的。
MSE,MAE对比:
MAE损失对于局外点更鲁棒,但它的导数不连续使得寻找最优解的过程低效;MSE损失对于局外点敏感,但在优化过程中更为稳定和准确。
3、Huber Loss
Huber loss具备了MAE和MSE各自的优点,当δ趋向于0时它就退化成了MSE,而当δ趋向于无穷时则退化为了MAE。
Huber Loss 是一个用于回归问题的带参损失函数, 优点是能增强平方误差损失函数(MSE)对离群点的鲁棒性。
当预测偏差小于 δ 时,它采用平方误差,
当预测偏差大于 δ 时,采用的线性误差。
4、smooth L1 Loss
Smooth L1 loss也具备了L1 loss和L2 loss各自的优点,本质就是L1和L2的组合。
Huber loss和Smooth L1 loss具有相同的曲线走势,当Huber loss中的δ等于1时,Huber loss等价于Smooth L1 loss。