3-1 机器学习进阶-集成学习算法,Bagging&Stacking&Boosting

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

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

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

4、什么是偏差和方差?

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


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

通过训练多个模型,并通过某种策略组合这些模型,使得组合后的集成模型达到更好效果。

集成学习为什么有效?随着集成的个体分类器(相对独立)数目增大,集成的错误率指数级下降,并趋近于0

P(H(x) \neq f(x)) = \sum_{k=0}^{\left \lfloor T/2 \right \rfloor}\binom{T}{k}(1-\epsilon)^{k}\epsilon ^{T-k}\leq exp(-\frac{1}{2}T(1-2\epsilon)^{2})

上式中H(x)为集成模型在x的预测结果,f(x)为x样本标签,T为模型个数 \epsilon为单模型错误率,k为分类为正的模型数。可以看到随着右边式子中T的增大,右式值快速下降且下界为0 (通过凑霍夫丁不等式可得到)


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

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

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

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

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

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

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

Boosting训练时为串行训练,预测时同样可以并行加速


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

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

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


4、什么是偏差和方差?

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

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

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

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

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

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


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

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

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

你可能感兴趣的:(AI基础知识,集成学习,机器学习,Bagging,Boosting,Stacking)