您的位置:首页 > 其它

Adaboost算法

2018-01-26 19:36 239 查看
Adaboost算法是boosting算法家族中的一个最基本最流行的一种算法,假若对于Adaboost算法有了一定的认识,则未来会对GBDT和Xgboost等更强力的boosting算法有更深的了解。



下面对其算法原理进行详细的介绍:

第一个直方图长短代表每一个样本的权重为D,然后经过分类器得到一个预测结果,每一个分类器有一个权重为a。Adaboost算法的核心在于不断的更新权重D和a,然后不断生成多个分类器,分类器的结果乘以a,最后综合输出分类结果。

对于如图的一个问题,分类器选择单决策树(也就是一个值的大或小的判断):



其大概的算法过程如下:

1)首先生成分类器,对于一个数据集X,标签L,以固定的权为参数,以误差结果为目标函数,以阈值(也就是分解值)和选取的特征为自变量,找到最优的分类特征(x轴或者y轴)和阈值。

2)其次,更新权重,根据数学公式(打开李航的统计学习方法就有),计算权重D和a,来生成新的分类器。直到分类器数目符合要求,或者误差为零停止。

3)根据多个分类器的输出结果乘以a,即可以得到最终的分类结果。

算法结束,Adaboost算法的最重要的点就是在上一次的分类误差上,不断生成新的分类器,来降低误差。

内容来源于机器学习实战。

关于算法的具体数学公式,这篇博客很详细:http://www.cnblogs.com/pinard/p/6133937.html

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Adaboost算法