1、前述:
从本节开始我们讲解集成学习的思想和一个重要的算法Adaboost。
2、Bosting方式介绍:之前我们介绍了blending的一种方式,uniformly blending,均匀的搅拌,也就是bagging形式,就是把所有g(x)加起来,取个符号,每个g(x)的结果认为是同样重要的,此时每个g(x)的权重就等于1。数学符号表达为:
今天开始我们讲解另一种blending的方式,linearly Blending,就是把结果线性组合一下。线性组合就是一次项前边可以和一个系数相乘,再相加叫做线性组合,线性组合关注的是,它不带平方关系,不带立方关系,只是一次项,我们称这种一次方的相乘相加就叫做线性的。因为它是直的,带平方它就变成曲线了,或者相乘就变成曲线了。假如g1(x)乘以g2(x)虽然没带平方,但它也不是线性的,它们彼此之间相乘了。它们不能相乘,只能有相加的关系,系数可以随便加,我们管这个东西叫做线性的Blending,简称Lineraly Blending 。也就是Boosting 方式,此时它们的权重是unequal,不相等的。数学符号表达为:
Boosting方式代表有Adaboost和GBDT。
为什么linearly Blending加α而uniformly Blending不加α,取决于怎么训练的模型。uniformly Blending之所以不加是因为我们公平地进行了一个随机抽样,而linearly Blending为什么会加?取决于训练的时候就决定了一定需要加了α才有意义。
Boosting是集成学习的一种思路,它通过多轮迭代生成多个弱分类器,它是用全部的数据,而Bagging不一定用全部的数据。Boosting通过多轮迭代,每轮产生一个弱分类器,最后将弱分类器的结果线性组合,得到强分类器的最终结果。
3、Adaboost例子:我们先看下Adaboost的一个例子,对于下图: