机器学习-集成学习-Adaboost

易懂图解(推荐看)

adaboost、bagging、boosting的区别

数学公式讲解(理论抽象)

AdaBoost算法是基于Boosting思想的机器学习算法,AdaBoost是adaptive boosting(自适应boosting)的缩写,其运行过程如下:

1、计算样本权重

训练数据中的每个样本,赋予其权重,即样本权重,用向量D表示,这些权重都初始化成相等值。假设有n个样本的训练集:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

设定每个样本的权重都是相等的,即1/n。

2、计算错误率

利用第一个弱学习算法h1对其进行学习,学习完成后进行错误率ε的统计:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

这个epsilon取值范围在[0,1]

3、计算弱学习算法权重

弱学习算法也有一个权重,用向量α表示,利用错误率计算权重α:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

画出此函数的图像:

可以看到错误率越接近0,它的数值是正的越大,错误率超过0.5之后,函数\alpha为负数,错误率越高,它负的也越大。

4、更新样本权重

在第一次学习完成后,需要重新调整样本的权重,以使得在第一分类中被错分的样本的权重,在接下来的学习中可以重点对其进行学习:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

其中,ht(xi) = yi表示对第i个样本训练正确,不等于则表示分类错误。Zt是一个归一化因子:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

这个公式我们可以继续化简,将两个公式进行合并,化简如下:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

5、AdaBoost算法

重复进行学习,这样经过t轮的学习后,就会得到t个弱学习算法、权重、弱分类器的输出以及最终的AdaBoost算法的输出,分别如下:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

其中,sign(x)是符号函数。具体过程如下所示:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

AdaBoost算法总结如下:

机器学习实战教程(十):提升分类器性能利器-AdaBoost

发布了65 篇原创文章 · 获赞 8 · 访问量 8167

猜你喜欢

转载自blog.csdn.net/qq_25799253/article/details/103451335
今日推荐