C/C++教程

集成学习算法,Bagging&Stacking&Boosting

本文主要是介绍集成学习算法,Bagging&Stacking&Boosting,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、什么是集成学习算法?

2、集成学习主要有哪几种框架,并简述它们的工作过程?

3、Boosting算法有哪两类,它们之间的区别是什么?

4、什么是偏差和方差?

5、为什么说Bagging可以减少弱分类器的方差,而Boosting可以减少弱分类器的偏差?


1、什么是集成学习算法?

通过训练多个弱分类器,并通过学习组合这些分类器,使得组合后的模型达到较好效果。


2、集成学习主要有哪几种框架,并简述它们的工作过程?

基本有三种框架Bagging、Stacking、Boosting

Bagging、Boosting集成同类型的模型(同质集成)

Stacking集成不同类型的模型(异质集成)

Bagging:同一个模型不同的样本(有放回的采样),得到多个模型,然后通过投票、平均等方式融合。

Stacking:第一阶段:训练不同模型;第二阶段:训练第二阶段的融合模型。第一阶段模型训练好以后,固定这些模型的参数,后面再接第二阶段的融合模型。训练集还是之前模型的训练集,只是第二阶段融合模型的输入以第一阶段模型结果作为输入。

Boosting:通过集成前后关联的同类模型,残差式学习。后面的模型用来校准之前模型的误差。


3、Boosting算法有哪两类,它们之间的区别是什么?

Adaboosting(adaptive boosting):增加上一轮错误样本的权重

Gradient boosting:下一轮通过拟合残差或负梯度,纠正之前的模型犯错较大的地方


4、什么是偏差和方差?

偏差(bias):衡量了模型的预测值与实际值之间的偏离关系。

方差(variance):预测值的变化波动情况(或称之为离散情况)。

低偏差,低方差:训练的理想模型,预测结果准确率高且泛化性好输出结果稳定没有太大波动;

低偏差,高方差:这是深度学习面临的最大问题,过拟合,导致其泛化(或通用)能力差,若遇到没见过的样本,结果变化差异大;

高偏差,低方差:模型刚训练、欠拟合阶段;

高偏差,高方差:训练最糟糕的情况,准确度低,稳定性差。


5、为什么说Bagging可以减少弱分类器的方差,而Boosting可以减少弱分类器的偏差?

Bagging方法(1)增加模型的独立性 (2)对模型结果取平均 能够减少方差

Boosting方法本身就是每一步减少拟合的损失,用以减少偏差

这篇关于集成学习算法,Bagging&Stacking&Boosting的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!