机器学习年鉴总结之偏差与方差

偏差、方差

算法在开发样本集上的错误率为 16%,我们可以把这 16%分成两部分:

1.算法在训练样本集上的错误率,本例中为 15%,这通常称作算法的偏差

2.算法在开发/测试样本集上相对训练样本集上高出的错误率部分, 本例中,算法那在开发样本集上的错误率比在训练样本集上的错误率高 1%,这通常称作算法的方差

减少可避免的偏差方法

如果你的学习算法中的可避免偏差很高,你可以尝试使用下面的方法:

  1. 增加模型规模(比如神经元/层的数量):这个方法可以减少偏差,因为这样可以使得你的模型可以更好的拟合当前的训练集。如果你发现使用这个方法时方差增加了,那就使用正则化,通常会抑制方差的上升。

  2. 基于误差分析修改输入特征:如果说你的误差分析告诉你要创建更多的特征来帮助算法减少某特定种类的错误。这些新的特征应该在偏差和方差方面都可以帮助你。理论上来说,增加更多的特征会相应增加方差;如果你遇到这种情况,就使用正则化,来抑制方差的增长。

  3. 减少或去除正则化(L2 正则化, L1 正则化, dropout):这会减少可避免偏差,但是会增加方差。

  4. 修改模型架构(比如神经网络架构):使得你的模型更加适合于你的问题,这个方法会对偏差和方差都造成影响。

  5. 关于降低偏差可能有个误区:

    加入更多训练数据:这种方法对方差问题有帮助,但是通常无法解决偏差的问题

减少方差的方法

如果你的学习算法的方差很高,你可能需要尝试以下的方法:、

  1. 增加更多的训练数据:只要你可以拿到更多数据,并且有足够强计算能力,这是最简单可靠的处理方差的方法。
  2. 使用正则化(L2 正则化, L1 正则化, dropout):这个方法可以减少方差,但是会增加偏差。
  3. 提早停止(基于开发集的错误率,提前停止梯度下降):这个方法可以降低方差但是会增加偏差。提早停止的做法和正则化方法行为上有所类似,所以也会把这种方法归入正则化方法。
  4. 特征选择时减少输入特征的数量/类型:这种方法可以会对方差问题有帮助,但是同时可能增加偏差。轻微的减少特征的数量(比如,从 1000 个减到 900 个)可能不会对偏差造成较大的影响。但是大幅度的减少特征数量(比如从 1000 个减到 100 个, 10 倍的缩减)很可能对偏差造成严重的影响,因为这样会导致有用的特征大大减少。在现代的深度学习中,当数据很丰富时,一般不会采用特征选择的方法,而是尽可能地让算法获取所有的特征,并且让算法自己选出些来用。 但是当你的训练样本集很小时,特征选择会非常有用。
  5. 减少模型规模(比如神经元/层的数量):要小心使用这个方法。这个方法可以降低方差但是很大可能增加偏差。因此,我不推荐使用这个方法来处理方差问题。 增加正则化通常会提升分类器的性能。减少模型的规模的优点在于可以降低计算开销,进而提升训练模型的速度。如果加速模型训练很有用,那么你当然可以考虑降低模型规模。但是如果你的目标是减少方差,而不关心计算开销,那就考虑使用正则化的方法。
  6. 这里还有两个附加的策略:
    1. 基于误差分析修改输入特征:如果说你的误差分析告诉你要创建更多的特征来帮助算法减少某特定种类的错误。这些新的特征应该在偏差和方差方面都可以帮助你。理论上来说,增加更多的特征会相应增加方差;如果你遇到这种情况,就使用正则化,来抑制方差的增加即可。
    2. 修改模型架构(比如神经网络架构):使得你的模型更加适合于你的问题,这个方法会对偏差 和方差都造成影响。
方差与偏差与欠、过拟合的关系。

一般来说,简单的模型会有一个较大的偏差和较小的方差,复杂的模型偏差较小方差较大。这也引申出欠拟合和过拟合的概念。

  • 欠拟合:模型不能适配训练样本,有一个很大的偏差
  • 过拟合:模型很好适配训练样本,但在测试集上表现很糟,有一个很大的方差
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值