什么是鲁棒损失函数?

鲁棒损失函数(Robust Loss Function)是在机器学习和统计模型中用于评估预测与实际观测之间差异的函数,它们的设计目的是为了减少异常值或噪声对模型性能的影响

传统损失函数,如均方误差(MSE)或平方损失,在存在异常值时容易使模型性能下降,而鲁棒损失函数通过降低异常值的影响力来提高模型的稳定性和泛化能力。

常见的鲁棒损失函数

  1. 绝对值损失(L1损失)
    L ( y , f ( x ) ) = ∣ y − f ( x ) ∣ L(y, f(x)) = |y - f(x)| L(y,f(x))=yf(x)

    • y y y : 实际值
    • f ( x ) f(x) f(x) : 预测值
      绝对值损失对误差的大小不敏感,对异常值的惩罚力度相对均匀。
  2. Huber损失
    L δ ( y , f ( x ) ) = { 1 2 ( y − f ( x ) ) 2 if  ∣ y − f ( x ) ∣ ≤ δ δ ( ∣ y − f ( x ) ∣ − 1 2 δ ) otherwise L_\delta(y, f(x)) = \begin{cases} \frac{1}{2}(y - f(x))^2 & \text{if } |y - f(x)| \leq \delta \\ \delta(|y - f(x)| - \frac{1}{2}\delta) & \text{otherwise} \end{cases} Lδ(y,f(x))={21(yf(x))2δ(yf(x)21δ)if yf(x)δotherwise

    • δ \delta δ : 阈值,决定损失函数何时从二次损失转换为线性损失。
      Huber损失在误差较小时表现为二次损失,在误差较大时转换为线性损失,这样可以减小异常值的影响。
  3. Charbonnier损失(也称为Pseudo-Huber损失)
    L ( y , f ( x ) ) = ( y − f ( x ) ) 2 + ϵ 2 − ϵ L(y, f(x)) = \sqrt{(y - f(x))^2 + \epsilon^2} - \epsilon L(y,f(x))=(yf(x))2+ϵ2 ϵ

    • ϵ \epsilon ϵ : 小正数,防止分母为零。
      Charbonnier损失在误差接近零时类似于平方损失,在误差增大时类似于绝对值损失,因此也具有一定的鲁棒性。
  4. Cauchy损失(也称为Lorentzian损失)
    L ( y , f ( x ) ) = log ⁡ ( 1 + ( y − f ( x ) σ ) 2 ) L(y, f(x)) = \log(1 + (\frac{y - f(x)}{\sigma})^2) L(y,f(x))=log(1+(σyf(x))2)

    • σ \sigma σ : 尺度参数。
      Cauchy损失函数具有无限的渐变,这意味着它对大误差的影响较小,从而提供了较强的鲁棒性。
  5. Geman-McClure损失
    L ( y , f ( x ) ) = ( y − f ( x ) ) 2 ( y − f ( x ) ) 2 + δ 2 L(y, f(x)) = \frac{(y - f(x))^2}{(y - f(x))^2 + \delta^2} L(y,f(x))=(yf(x))2+δ2(yf(x))2

    • δ \delta δ : 控制损失函数曲线的平滑度
      Geman-McClure损失在误差较小时表现为二次损失,在误差较大时趋于饱和,减少异常值的影响。
  6. Tukey损失
    L ( y , f ( x ) ) = { c 2 ( 1 − [ 1 − ( y − f ( x ) c ) 2 ] 3 ) if  ∣ y − f ( x ) ∣ ≤ c c 2 otherwise L(y, f(x)) = \begin{cases} c^2(1 - [1 - (\frac{y - f(x)}{c})^2]^3) & \text{if } |y - f(x)| \leq c \\ c^2 & \text{otherwise} \end{cases} L(y,f(x))={c2(1[1(cyf(x))2]3)c2if yf(x)cotherwise

    • c c c : 截断点,决定损失函数何时达到最大值。
      Tukey损失在误差小于某个阈值时是四次多项式损失,在误差大于阈值时损失达到最大值并保持不变,这有助于抑制异常值的影响。

鲁棒损失函数的共同点

  • 它们通常在误差较小时表现得更平滑,类似平方损失。
  • 在误差较大时,它们的斜率减缓或变得线性,这减少了异常值对模型的影响。
  • 通过引入阈值或尺度参数,可以调整损失函数对异常值的敏感度。

鲁棒损失函数的应用广泛,不仅限于回归问题,在分类问题中也有使用,如通过构造适当的损失函数来提高模型对不平衡数据集的鲁棒性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不易撞的网名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值