前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >27. 减少方差的技术

27. 减少方差的技术

原创
作者头像
YingJoy_
发布2018-06-04 18:59:58
1K1
发布2018-06-04 18:59:58
举报
文章被收录于专栏:应兆康的专栏

如果你的学习算法存在着高方差,则可以尝试下面的技术:

• 添加更多的训练数据:这是最简单也是最可靠的一种方式来处理方差,只要你能访问大量的数据并有足够的计算能力来处理它们。

• 加入正则化(L2 正则化,L1 正则化,dropout):这项技术可以降低方差,但却增大了偏差。

加入提前终止(比如根据开发集误差提前终止梯度下降):这项技术可以降低方差但却增大了偏差。提前终止(Early stopping)有点像正则化理论,一些学者认为它是正则化技术之一。

• 通过特征选择减少输入特征的数量和种类:这种技术可能有助于解决方差问题,但也可能增加偏差。稍微减少特征的数量(比如从 1000 个特征减少到 900 个)不太可能会对偏差产生很大的影响,但显著地减少它们(比如从 1000 个特征减少到 100 个,10 倍地降低)则很有可能产生很大的影响,你可能排除了太多有用的特征。在现代深度学习中,当数据充足时,特征选择的比重就有所改变,现在我们更有可能将拥有的所有特征提供给算法,并让算法根据数据来确定哪些特征可以使用。但当你的训练集很小的时候,特征选择是非常有用的。

• 减小模型规模(比如神经元/层的数量):谨慎使用。这种技术可以减少方差,同时可能增加偏差。然而我不推荐这种处理方差的方法,添加正则化通常会提供更好的分类性能。 减少模型规模的好处是降低了计算成本,从而加快了你对模型进行训练的速度。如果加速模型训练是有用的,那么无论如何都要考虑减少模型的规模。但如果你的目标是减少方差,并且不关心计算成本,那么考虑添加正则化会更好。

下面是两种额外的策略,和解决偏差问题章节所提到的方法重复:

根据误差分析结果修改输入特征:假设误差分析的结果鼓励你创建额外的特征,从而帮助算法消除某个特定类别的误差。这些新的特征对处理偏差和方差都有所帮助。理论上,添加更多的特征将增大方差;然而当你发现这种情况时,加入正则化,这可以消除方差的增加。

修改模型架构(比如神经网络架构)使之更适用于你的问题:这项技术将同时影响偏

差和方差。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档