回归模型中的代价函数应该用MSE还是MAE

回归模型中的代价函数应该用MSE还是MAE

CC思SS

CC思SS

南有乔木

5 人赞同了该文章

1. 回归代价函数--MSE, L2 loss

[公式]

因为MSE对error [公式] 进行了平方,可以看到,如果 [公式] 大于1,这个值就会>> | [公式] |。 用了MSE为代价函数的模型因为要最小化这个异常值带来的误差,就会尽量贴近异常值,也就是对outliers(异常值)赋予更大的权重。这样就会影响总体的模型效果。

也可以这么想,哪个常数能够最小化我们的MSE? 答案是平均值。

2. 回归代价函数--MAE, L1 loss

[公式]

相比MSE来说,MAE在数据里有不利于预测结果异常值的情况下撸棒性更好。

可以这么想?哪个常数能够最小化我们的MSE? 答案是中值。因为在有异常值的时候,中值的代表性要好于均值。所以MAE的撸棒性要高于MSE。

3. MAE loss的主要问题(特别是神经网络情况下):

梯度基本是一样的,这会导致训练效果不好,要解决这个问题,我们可以改用动态学习速率:越接近最低点,速率越小。相比之下,MSE在预测误差很大时学习速率就相应变大,预测误差小时学习速率就相应变小,所以训练效果比较精确。

4. 什么时候用MSE,什么时候用MAE?

如果数据的异常值对于业务是有用的,我们希望考虑到这些异常值,那么就用MSE。

如果我们相应异常值只是一些无用的数据噪音,那就用MAE。

5. MAE是L1范数正则化的一个代表,MSE是L2范数正则化的一个代表。总体来说,L1可以克服异值点代来的不利影响。但是它的方程不可导,增大了用L1寻求最优解的困难度。L2对于异常点很敏感,但是通过求导很容易找到最优解。

这一点也可以联想到正则化模型进行特征选择时,虽然L1可以迅速把特征压缩到0,直接选择特征子集,但是如果特征之间存在共线性,L1可以带来不稳定的结果,即随意分配特征的权重。当数据发生细微变化时就会导致很大的模型差异。L2正则化就在系数权重上表现得更稳定,从而让特征更具解释性。

发布于 2018-10-01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值