关于算法:集成学习的偏差和方差

52次阅读

共计 2173 个字符,预计需要花费 6 分钟才能阅读完成。

简介:

咱们常常用过拟合、欠拟合来定性地形容模型是否很好地解决了特定的问 题。从定量的角度来说,能够用模型的偏差(Bias)与方差(Variance)来形容模型的性能。集成学习往往可能“神奇”地晋升弱分类器的性能。

一、偏差和方差怎么来的

如果咱们用训练数据集去训练一个模型,通常的做法是须要定义一个误差函数,接着是将这个误差的最小化过程,来进步模型的性能。不过单纯地将训练数据集的损失最小化,并不能保障在解决更个别的问题时模型依然是最优,甚至不能保障模型是可用的。这个训练数据集的损失与一般化的数据集的损失之间的差别就叫做泛化误差 (generalization error)。泛化误差咱们也能够合成为偏差(Biase) 和(Variance)两局部。

泛化误差(generalization error)= 偏差(Biase)+ 方差(Variance)

二、什么是偏差和方差

什么是模型的偏差和方差,Boosting 和 Bagging 办法与偏差和方差的关系是什么,如何依据偏差和方差这两个指标来领导模型的优化和改良。

在有监督学习中,模型的泛化误差来源于两个方面——偏差和方差,具体来 讲偏差和方差的定义如下:

偏差指的是由大小为 m 的训练数据集训练出的模型的输入的平均值和实在模型输入之间的偏差。偏差通常是因为咱们对学习算法做了谬误的假如所导致的,比方实在模型是某个二次函数,但咱们假如模型是一次函数。由偏差带来的误差通常在训练误差上就能体现进去。

偏差的计算方法:image.png

方差指的是由大小为 m 的训练数据集训练出的所有模型的输入的方差。方差通常是因为模型的复杂度绝对于训练样本数 m 过高导致的,比方一共有 100 个训练样本,而咱们假如模型是阶数不大于 200 的多项式函数。由方差带来的误差通常体现在测试误差绝对于训练误差的增量上。

方差的计算方法:image.png

通过下面的定义咱们可能很难直观的了解很精确,为了更清晰的了解偏差和方差,咱们用一个投靶游戏的例子来进一步形容这二者的区别和分割。假如一次投靶就是一个机器学习模型对一个样本进行预测。射中靶心地位代表预测精确,偏离靶心越远代表预测误差越大。咱们通过 n 次采样失去 n 个大小为 m 的训练样本汇合,训练出 n 个模型,对同一个样本做预测,相当于咱们做了 n 次投靶,投靶后果如图 1 所示。咱们最冀望的后果就是左上角的后果,投靶后果又精确又集中,阐明模型的偏差和方差都很小;右上图尽管投靶后果的核心在靶心四周,但散布比拟扩散,阐明模型的偏差较小但方差较大;同理,左下图阐明模型方差较小,偏差较大;右下图阐明模型方差较大,偏差也较大。

image.png

图 1:偏差与方差示意图

三、如何减小偏差和方差

咱们通过 Boosting 和 Bagging 进行剖析,简略答复这个问题就是:Bagging 可能进步弱分类器性能的起因是升高了方差,Boosting 可能晋升弱分类器性能的起因是升高了偏差。为什么这么讲呢?

首先,Bagging 是 Bootstrap Aggregating 的简称,意思就是再抽样,而后在每个样本上训练进去的模型取均匀。

假如有 n 个随机变量,方差记为 σ2,两两变量之间的相关性为 ρ,则 n 个随机变量的均值 image.png 的方差为 image.png。在随机变量齐全独立的状况下,n 个随机变量的方差为 σ2/n,也就是说方差减小到了原来的 1 /n。

再从模型的角度了解这个问题,对 n 个独立不相干的模型的预测后果取均匀,方差是原来单个模型的 1 /n。当然,模型之间不可能齐全独立。为了谋求模型的独立性,诸多 Bagging 的办法做了不同的改良。比方在随机森林算法中,每次选取节点决裂属性时,会随机抽取一个属性子集,而不是从所有属性中选取最优属性,这就是为了防止弱分类器之间过强的相关性。通过训练集的重采样也可能带来弱分类器之间的肯定独立性,从而升高 Bagging 后模型的方差。

再看 Boosting,在训练好一个弱分类器后,咱们须要计算弱分类器的谬误或者残差,作为下一个分类器的输出。这个过程自身就是在一直减小损失函数,来使模型一直迫近“靶心”,使得模型偏差一直升高。但 Boosting 的过程并不会显著升高方差。这是因为 Boosting 的训练过程使得各弱分类器之间是强相干的,不足独立性,所以并不会对升高方差有作用。

四、偏差和方差的互相关系

对于泛化误差、偏差、方差和模型复杂度的关系如图 2 所示。不难看出,方 差和偏差是相辅相成,矛盾又对立的,二者并不能齐全独立的存在。对于给定的 学习工作和训练数据集,咱们须要对模型的复杂度做正当的假如。如果模型简单 度过低,尽管方差很小,然而偏差会很高;如果模型简单度过高,尽管偏差升高 了,然而方差会很高。所以须要综合思考偏差和方差抉择适合复杂度的模型进行 训练。一般来说,简略的模型会有一个较大的偏差和较小的方差,简单的模型偏差较小方差较大。

image.png

五、总结

本次分享咱们次要理解了泛化误差的两个组成部分偏差和方差,以及形象的形容了它们在模型预测中的特色景象。并且剖析了在集成学习中 Bagging 办法有减小方差、Boosting 有减小偏差的起因。偏差和方差是有互相关系的,设置模型比较复杂的时候可能有偏差小方差大的景象,模型简略的时候会有偏差大方差小的景象。所以须要依据数据的状况抉择正当的模型,才可能防止遇到以上状况。

正文完
 0