神经翻译笔记2扩展a. 损失函数

本文深入探讨了神经翻译中的损失函数,包括针对回归问题的均方误差函数、平均绝对值误差函数和Huber损失函数,以及针对分类问题的交叉熵损失函数,如Softmax和Sigmoid交叉熵。分析了各种损失函数的特点和适用场景,强调了正确选择损失函数对模型性能的重要性。
摘要由CSDN通过智能技术生成

神经翻译笔记2扩展a. 损失函数

从最抽象的角度来讲,机器学习问题的求解过程就是提出一个损失函数来度量模型预测值与真实值之间的差距,然后通过某种给定的优化方法来调整模型参数,使模型效果提升的过程。在这个过程中,选择正确的损失函数是问题求解的基础,而对于某些特定的问题,设计一个有针对性的,新的损失函数则可以看作是胜负手

常见的损失函数通常都适用于有监督学习问题,其中根据问题的不同类型,损失函数也可以划分为两类:针对回归问题的损失函数和针对分类问题的损失函数。在本节后面的阐述中,除非特别说明,记 y \boldsymbol{y} y为真实值, y ^ \hat{\boldsymbol{y}} y^为预测值, N N N为样本个数

针对回归问题的损失函数

均方误差函数

求解回归问题时,最常见的损失函数无疑是均方误差函数(均方误差:mean squared error, MSE),也称为 ℓ 2 \ell_2 2误差函数。具体形式为
M S E ( y , y ^ ) = 1 N ∑ i = 1 N ( y i − y ^ i ) 2 {\rm MSE}(\boldsymbol{y}, \hat{\boldsymbol{y}}) = \frac{1}{N}\sum_{i=1}^N\left(y_i - \hat{y}_i\right)^2 MSE(y,y^)=N1i=1N(yiy^i)2
由上式可知,如果使用均方误差函数做损失函数,模型做出的预测与实际值差得越多,则受到的惩罚越大。因此,如果数据集中有离群点,则会很大程度上影响最终学到的模型。但是,从另一方面讲,如果不希望模型的预测值与某个真实值相差太远,均方误差函数则是一个很好的选择

平均绝对值误差函数

均方误差函数如果写成向量形式,则为
M S E ( y , y ^ ) = 1 N ∥ y − y ^ ∥ 2 2 {\rm MSE}(\boldsymbol{y}, \hat{\boldsymbol{y}}) = \frac{1}{N}\|\boldsymbol{y}-\hat{\boldsymbol{y}}\|^2_2 MSE(y,y^)=N1yy^22

也就是说,均方误差函数的核心是预测值与真实值这两个向量差的 ℓ 2 \ell_2 2范数。考虑到正则化里有 ℓ 2 \ell_2 2正则化和 ℓ 1 \ell_1 1正则化,那么对于损失函数,求预测值与真实值这两个向量差的 ℓ 1 \ell_1 1范数是不是一个好的选择?的确如此,这种损失函数更多被称为平均绝对值误差函数(平均绝对值误差:mean absolute error, MAE)。具体形式为
M A E ( y , y ^ ) = 1 N ∑ i = 1 N ∣ y i − y ^ i ∣ {\rm MAE}(\boldsymbol{y}, \hat{\boldsymbol{y}}) = \frac{1}{N}\sum_{i=1}^N\left|y_i - \hat{y}_i\right| MAE(y,y^)=N1i=1Nyiy^i
MAE的最大问题是损失函数在 y i = y ^ i y_i = \hat{y}_i yi=y^i处不可导,因此在计算梯度时可能会造成问题

对于这两个比较常见的损失函数,一个自然而然的问题就是,实际问题中究竟应该选择哪个?对于这个自然而然的问题,有一个自然而然的答案,就是具体问题具体分析。然而,有一些基本的事实是不能忽视的。首先,MSE处处可导,易于优化。其次,需要考虑:如果对于两个样本,模型给出的预测值与第一个样本差了 δ \delta δ,与第二个样本差了 2 δ 2\delta 2δ,那么模型在第二个样本上的表现的拙劣程度,是不是在第一个样本上表现的拙劣程度的两倍?更广泛地说,模型预测值与真实值的差距,是否与人们对这个模型的失望程度呈线性关系?如果的确是线性关系,那么MAE可以使用;如果模型预测值的离谱程度会放大人们的失望程度,那么还是应该使用MSE(事实上,MSE也的确使用更广,而离群点的问题可以通过其它手段来克服)。此外还需注意的一点是,MSE对参数的梯度会随着损失值的减小而变小,因此即使学习率不变也容易收敛;而MAE对参数的梯度不随损失值的变化而变化,是一个常量,因此需要即时调整学习率

根据维基百科,MSE可以看作是误差的算术平均值无偏估计,而MAE则是误差的中位数无偏估计。关于这两种损失函数比较的进一步阅读,可以参考 Chai, Tianfeng, and Roland R. Draxler. “Root mean square error (RMSE) or mean absolute error (MAE)?–Arguments against avoiding RMSE in the literature.” Geoscientific model development 7.3 (2014): 1247-1250.

Huber loss

针对MSE对离群点鲁棒性不太强的弱点,Huber提出了一种新的损失函数来进行弥补,称为huber loss。其定义为
h u b e r ( y i , y ^ i ) = { 1 2 ( y i − y ^ i ) 2 i f   ∣ y i − y ^ i ∣ ≤ δ δ ∣ y i − y ^ i ∣ − 1 2 δ 2 e l s e w h e r e {\rm huber}(y_i, \hat{y}_i) = \begin{cases}\frac{1}{2}(y_i - \hat{y}_i)^2 &amp; {\rm if\ }|y_i - \hat{y}_i| \le \delta \\ \delta|y_i - \hat{y}_i| - \frac{1}{2}\delta^2 &amp; {\rm elsewhere}\end{cases} huber(yi,y^i)={ 21(yiy^i)2δyiy^i21<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值