集成学习(一):简述集成学习

更多内容请关注微信公众号:
集成学习(一):简述集成学习_第1张图片

一、集成学习介绍

集成学习要回答的两个问题:

  1. 怎么学习基模型?
  2. 怎么综合所有基模型的预测结果?

常见框架有三种:

  1. Bagging

    • 并行:各个基模型之间不存在强依赖关系,代表是随机森林算法。

    • 每个基模型基于对训练集进行有放回抽样得到子训练集(0.632 采样法)进行训练。

    • 使用投票法综合基模型的预测结果,票数最多的类别为预测类别。

  2. Boosting

    • 串行:基模型之间存在强依赖关系,必须串行生成。

    • 每个基模型都会在前一个基模型学习的基础上进行学习。

    • 综合方式为加权法。

  3. Stacking

    • 串行。

    • 先用全部数据训练好基模型,然后基模型对每个训练样本进行的预测,其预测值将作为训练样本的特征值,得到新的训练样本,然后基于新的训练样本进行训练得到下一个基模型,得到最终预测结果。

为什么集成学习会好于单个学习器呢?

  1. 训练样本可能无法选择出最好的单个模型。

  2. 假设能找到最好的模型,但由于算法运算的限制无法找到最优解,只能找到次优解,采用集成学习可以弥补算法的不足。

  3. 可能算法无法得到最优解,而集成学习能够得到近似解。例如:最优解是一条对角线,而单个决策树得到的结果只能是平行于坐标轴的,但是集成学习可以去拟合这条对角线。

二、从方差和偏差的角度理解集成学习

2.1 什么是方差与偏差

偏差:描述样本拟合出的模型的预测结果的期望与样本真实结果的差距,要想偏差表现的好,就需要复杂化模型,增加模型的参数,但这样容易过拟合。

方差:描述样本上训练出来的模型在测试集上的表现,要想方差表现的好,需要简化模型,减少模型的复杂度,但这样容易欠拟合。

在集成学习框架中,通过计算模型的期望和方差,我们可以得到模型整体的期望和方差。为了简化模型,我们假设基模型的期望为 ,方差为 ,模型的权重为 ,两两模型间的相关系数为

因为集成学习是加法模型,那么有:

模型的总体期望:

模型总体方差(利用协方差的性质,协方差与方差的关系):

模型的准确度可由偏差和方差共同决定:

我们可以使用模型的偏差和方差来近似描述模型的准确度;

  • Bagging:

    整体模型的偏差与基模型近似,而随着模型的增加可以降低整体模型的方差,故其基模型需要为强模型;

  • Boosting

    整体模型的方差近似等于基模型的方差,而整体模型的偏差由基模型累加而成,故基模型需要为弱模型。

一句话总结:Bagging 和 Stacking 中的基模型为强模型(偏差低,方差高),而Boosting 中的基模型为弱模型(偏差高:在训练集上准确度低;方差高:防止过拟合能力强)。

2.2 Bagging的偏差与方差

对于Bagging来说,每个基模型的权重等于 ​​且期望近似相等,所以可以得到:

通过上式可以得到:

  • 整体模型的期望等于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似
  • 整体模型的方差小于等于基模型的方差,当且仅当相关性为 1 时取等号,随着基模型数量增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。但是,模型的准确度一定会无限逼近于 1 吗?并不一定,当基模型数增加到一定程度时,方差公式第一项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。

在此我们知道了为什么 Bagging 中的基模型一定要为强模型,如果 Bagging 使用弱模型则会导致整体模型的偏差变大,而准确度降低。

随机森林是经典的基于 Bagging 框架的模型,并在此基础上通过引入特征采样和样本采样来降低基模型间的相关性,在公式中显著降低方差公式中的第二项,略微升高第一项,从而使得整体降低模型整体方差。

2.3 Boosting 的偏差与方差

对于 Boosting 来说,由于基模型共用同一套训练集,所以基模型间具有强相关性,故模型间的相关系数近似等于 1,针对 Boosting 化简公式为:

通过上式可以得到:

  • 整体模型的方差等于基模型的方差,如果基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,Boosting 框架中的基模型必须为弱模型。
  • 此外 Boosting 框架中采用基于贪心策略的前向加法,整体模型的期望由基模型的期望累加而成,所以随着基模型数的增多,整体模型的期望值增加,整体模型的准确度提高。

基于 Boosting 框架的GBDT模型中基模型也为树模型,同随机森林一样,也可以对特征进行随机抽样来使基模型间的相关性降低,从而达到减少方差的效果。

你可能感兴趣的:(集成学习(一):简述集成学习)