中年机器学习常见的损失函数以及何时使用它们( 二 )



中年机器学习常见的损失函数以及何时使用它们
本文插图
中年机器学习常见的损失函数以及何时使用它们
本文插图
相应的成本函数是这些绝对误差(MAE)的平均值 。 与MSE损失函数相比 , MAE损失函数对异常值具有更强的鲁棒性 。 因此 , 如果数据有很多异常值 , 可以考虑使用它 。
1. Huber损失/平滑平均绝对误差(Huber Loss / Smooth Mean Absolute Error)
Huber损失函数是MSE和MAE的组合 , 当误差较大时 , 取平均绝对误差 , 当误差变得很小时 , 取均方误差 。 转换条件由超参数(delta)控制 。
中年机器学习常见的损失函数以及何时使用它们
本文插图
【中年机器学习常见的损失函数以及何时使用它们】

中年机器学习常见的损失函数以及何时使用它们
本文插图
delta值的选择非常关键 , 因为它决定了我们将什么视为异常值 。 因此 , 与基于超参数值的MSE损失函数相比 , Huber损失函数对异常值不太敏感 。 如果数据容易出现离群值 , 可以考虑使用它 。
1. 对数余弦损失(Log-Cosh Loss)
对数余弦损失函数定义为预测误差双曲余弦的对数 。 它是回归任务中使用的另一个函数 , 比MSE损失函数平滑得多 。 它具有Huber损失函数的所有优点 , 而且它在任何地方都是两次可微的 , 不像Huber损失函数不具有可微性质 。 而一些学习算法 , 如XGBoost使用牛顿法来寻找最佳值 , 因此需要二阶导数(Hessian) 。
中年机器学习常见的损失函数以及何时使用它们
本文插图

中年机器学习常见的损失函数以及何时使用它们
本文插图
当x较小时 , log(cosh(x))约等于(x**2)/2 , 当x较大时 , 约等于abs(x)-log(2) 。 这意味着"logcosh"的工作原理与均方误差类似 , 但不会受到偶尔出现的显著错误预测的强烈影响 。
1. 分位数损失( Quantile Loss)
分位数是指一组中有一小部分样本低于该值 。 顾名思义 , 分位数回归损失函数用于预测分位数 。 对于一组预测 , 损失将是其平均值 。
中年机器学习常见的损失函数以及何时使用它们
本文插图

中年机器学习常见的损失函数以及何时使用它们
本文插图
当我们对预测一个区间而不是仅仅对点预测感兴趣时 , 分位数损失函数是十分有用的 。


推荐阅读