Adaboost——三个臭皮匠赛过诸葛亮

来源:互联网 发布:苹果免费看书的软件 编辑:程序博客网 时间:2024/06/05 03:12

        古人云“三个臭皮匠赛过诸葛亮”,以adaboost为代表的集成学习正是体现了古人的这个智慧,也就是说,对于弱学习器(性能比较差的学习器),通过某种算法把它们结合起来,使它们能够有缺互补,那么它们就能赛过诸葛亮(强学习器)。下面是集成学习的示意图。


1集成学习示意图

    对于个体学习器,可以使用同类学习算法,也可以是不同类学习算法。理想的个体学习器是“好而不同”,即希望个体学习器具有一定的准确性,它们之间又有很大的差异性,这样集成效果优。

    目前集成学习算法主要有Adaboost, Bagging, Random Forest等几种。下面先介绍Boosting,后两者后面再介绍。

2 adaboost 算法 (图片来自周志华的《机器学习》)

    以上就是adaboost算法,看似短短的几行,却蕴含着极强的学习思想。Dt是样本的权重。一开始先每个样本都给予同样大小的权重进行学习(第3句),然后再根据本轮学习的误差计算出本轮学习器的权重alpha,并且用alpha去更新下一轮的样本分布Dt+1。     从第6可以看得出,当误差越大是,alpha越小,即再最终的加权组合中,本轮学习器的贡献就越小,这也符合我们的直观认知。从第7式可以看出,如果样本在本轮中已经被正确分类,则在下一轮中其权重将会降低;如果样本被错误分类,则在下轮中其权重将会增加,即下轮中重点对在上一轮中被错误分类的样本进行分类。这也好比我们平时做练习题,做错的习题在后面的复习中我们将会针对性地对这些习题进行练习加强巩固,而做对的我们一般就不会在理它了(由此可看到,看似简单adaboost真的充满哲理性)。

    简单说一下67式是怎么来的。对于第6式,在已知样本分布的情况下,我们希望本轮学习器的权重能使得预测αtht误差能够最小,即最小化指数误差就能得到6式。同样,在获得Ht后,我们希望调整下一轮的样本分布,使得下一轮的基学习器ht+1能够纠正Ht的一些错误,即最小化指数误差就能得到7式。具体证明推导可以参考周志华的《机器学习》。


参考资料:

1、周志华,《机器学习》,清华大学出版社

2、Adaboost 算法的原理与推导:

http://blog.csdn.net/v_july_v/article/details/40718799


0 0
原创粉丝点击