问题1,集成学习风哪几种,他们都有何种异同????
第一种:Booting
Boosting方法训练基分类器时采用串行的方式,各分类器之间有依赖,
基本思路是将基分类器层层叠加,每一次在训练的时候,对前一层基分类器分错样本,给与更高的权重,测试时,根据各层分类器的结果的加权得到最终结果
第二种:Bagging
Bagging方法训练过程中,各基分类器之间无强依赖,可以进行并行训练,其中很著名的算法之一是基于决策树基分类器的随机森林,为了让基分类器之间相互独立,将训练集分为若干个子集,Bagging方法更像是一个集体决策的过程,每个个体都进行单独学习,学习内容可以相同,也可以不同,也可以部分重叠。
在从消除基分类器的偏差和方差的角度来理解Boosting和Bagging方法的差异,
基分类器,又是被称为弱分类器,
因为基分类器的错误率要大于集成分类器,基分类器的错误,
是偏差和方法两种错误之和,
偏差主要是由于分类器的表达能力有限导致的系统性错误,表现在训练误差不收敛。
方差是由于分类器对于样本分布过于敏感,导致在训练样本较少时,产生过拟合。
Boosting方法是通过逐步聚焦于基分类器分错的样本,减少继承分类器的偏差,
Bagging方法则是采取分而治之的策略,通过对训练样本多次采样,并分别训练出多个不同模型,然后做综合,来减少继承分类器的方差。
问题2:集成学习有哪些步骤,请举例几个集成学习的例子????
集成学习一般分为三步:
1、找到误差互相独立的基分类器
2、训练基分类器
3、合并基分类器的结果
合并基分类器的方法有voting和stacking两种。
voting是用投票的方式,将获得最多的选票的结果作为最终的结果
stacking是用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出相加作为最终的输出。