Boosting中Adaboost的通俗理解

今天知乎上被私信说我对Adaboost的通俗解释很好理解,那我就把当初的答案贴下来,做个记录吧,该理解没有任何数学公式

要看数学公式的推荐每个做统计算法和机器学习的人都会看的: 李航统计学习方法的Adaboost那一章节,完整,易懂!


我对Boosting和Adaboost的理解是:

boosting的原理就是三个臭皮匠,赛过诸葛亮一样。把很多分类准确率很低的分类器通过更新对数据的权重,集成起来形成一个分类效果好的分类器。所以他也叫ensemble,集成方法的一种。

Adaboost就是其中的一种算法,通过更改训练样本对每个分类器的权重,让每个若分类器能互补之间不能很好分类的数据。 好比说一个公司,你只会写代码,但不会运营,管理,算账,招人,但你可以请一些会运营,管理,会计,HR的人,虽然他们不会写代码,但你会啊,各自做好分类的事,形成一个牛逼的公司。

我很讨厌用数学解决这些算法,但还是简单说下,大体就是。若第一个分类器对样本x1,x2 的分类效果好,对x3的分类效果差,那么第二个分类器通过一个神奇的公式,把对x3的权重增加,x1,x2的权重降低。为什么呢?因为我们认为第一分类器已经能很好的分类x1和x2,对x3却不行,所以我们不太需要让第二分类器考虑x1,x2了,因为咱有第一份类器去处理他们了,所以第二个分类器就是要互补第一分类器,让他多多考虑第一分类器无法准确分类的数据。 然后整很多这样的分类器,每个分类器一般来说能分类一些数据不能分类一些数据,但是通过他们的基友来帮他们分类他们所不行的数据,最后大家集成在一起,形成一个超叼的分类器。最后对每个分类器给一个权重,看看他们在大分类器的重要性,大体公式是H(x)=sign(sum(权重*分类器t)),t=1,2...,N 意思就是把所有分类器的输出加起来,取正负号,得到最后的结果



猜你喜欢

转载自blog.csdn.net/robingao1994/article/details/80235414