深度学习流程(三)之损失函数

本文详细介绍了深度学习中的损失函数,包括均方差损失(MSE)、平均绝对误差损失(MAE)、Huber Loss以及交叉熵,并探讨了MAE与MSE的区别。此外,还讨论了分类问题不适用MSE的原因。文章还涵盖了正则化技术,如L1和L2正则,阐述了它们如何防止过拟合并产生稀疏模型。
摘要由CSDN通过智能技术生成

1. 损失函数

损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。

损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。

1.1 常见的损失函数

分类任务:交叉熵损失

匹配任务:三元组损失,对比损失

风格迁移:风格损失,内容损失(欧氏距离)

1.1.1 均方差损失(MSE, Mean Squared Error Loss)

均方差损失是机器学习、深度学习回归任务中最常用的一种损失函数,也称为 L2 Loss。其基本形式如下 L M S E = 1 N ∑ i = 1 N ( y i − y i ^ ) 2 L_{MSE}=\frac{1}{N}\sum_{i=1}^N(y_i-\hat{y_i})^2 LMSE=N1i=1N(yiyi^)2
从直觉上理解均方差损失,这个损失函数的最小值为 0(当预测等于真实值时),最大值为无穷大。下图是对于真实值 y = 0 y= 0 y=0,不同的预测值 [ − 1.5 , 1.5 ] [-1.5,1.5] [1.5,1.5] 的均方差损失的变化图。横轴是不同的预测值,纵轴是均方差损失,可以看到随着预测与真实值绝对误差 ∣ y − y ^ ∣ |y-\hat{y}| yy^ 的增加,均方差损失呈二次方地增加。

在这里插入图片描述
在模型输出与真实值的误差服从高斯分布的假设下,最小化均方差损失函数与极大似然估计本质上是一致的,因此在这个假设能被满足的场景中(比如回归),均方差损失是一个很好的损失函数选择;当这个假设没能被满足的场景中(比如分类),均方差损失不是一个好的选择。

def MSE(y, t):
    return 0.5 * np.sum((y - t)**2)

1.1.2 平均绝对误差损失(MAE, Mean Absolute Error Loss)

平均绝对误差是另一类常用的损失函数,也称为 L1 Loss。其基本形式如下 L M A E = 1 N ∑ i = 1 N ∣ y i − y i ^ ∣ L_{MAE}=\frac{1}{N}\sum_{i=1}^N|y_i-\hat{y_i}| LMAE=N1i=1Nyiyi^
同样的我们可以对这个损失函数进行可视化如下图,MAE 损失的最小值为 0(当预测等于真实值时),最大值为无穷大。可以看到随着预测与真实值绝对误差 ∣ y i − y i ^ ∣ |y_i-\hat{y_i}| yiyi^ 的增加,MAE 损失呈线性增长。
在这里插入图片描述

def MAE(y, t):
    return 0.5 * np.sum(abs(y - t))

1.1.3 Huber Loss (Smooth Mean Absolute Error Loss, Smooth L1)

MSE 损失收敛快但容易受 outlier 影响,MAE 对 outlier 更加健壮但是收敛慢,Huber Loss 则是一种将 MSE 与 MAE 结合起来,取两者优点的损失函数,也被称作 Smooth Mean Absolute Error Loss 。其原理很简单,就是在误差接近 0 时使用 MSE,误差较大时使用 MAE,公式为 L h u b e r = 1 N ∑ i = 1 N ( 1 ∣ y i − y i ^ ∣ ≤ δ ( y i − y i ^ ) 2 2 + 1 ∣ y i − y i ^ ∣ > δ ( δ ∣ y i − y i ^ ∣ − 1 2 δ 2 ) ) L_{huber}=\frac{1}{N}\sum_{i=1}^N(1_{|y_i-\hat{y_i}|\leq\delta}\frac{(y_i-\hat{y_i})^2}{2}+1_{|y_i-\hat{y_i}|>\delta}(\delta|y_i-\hat{y_i}|-\frac{1}{2}\delta^2)) Lhuber=N1i=1N(1yiyi^δ2(yiyi^)2+1yi

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值