首页 / 算法 / 集成学习之Adaboost算法
集成学习之Adaboost算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了集成学习之Adaboost算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含246313字,纯文字阅读大概需要352分钟。
内容图文
![集成学习之Adaboost算法](/upload/InfoBanner/zyjiaocheng/641/46f1307a65544678bb85822b16656d7f.jpg)
<style></style> <style></style> <style></style> <style></style> ?
1、Adaboost算法概述¶
集成学习按照个体学习器之间是否存在依赖关系进行划分,主要代表算法是bagging系列算法和boosting系列算法,今天主要讲述的是boosting系列代表算法之Adaboost。Adaboost算法不需要预先知道弱学习算法学习正确率的下限,并且最后得到的强分类器的分类精度依赖于所有弱分类器的分类精度。
?2、算法流程介绍¶
算法流程图如下:
1.初始化训练样本的权值分布。
假设训练集有m个样本,则每一个训练样本最开始时都被赋予相同的权值:1/m。
2.训练弱分类器。
如果某个样本已经被准确地分类,那么在构造下一个训练集中,它的权值就会被降低,反之升高。目的是为了更新数据集的权重集和弱学习器的权重。
3.将各个训练得到的弱分类器组合成强分类器。
基于弱分类器的权重值和分类结果线性组合得到强分类器,而分类误差率越低的弱分类器在最终分类器中权重越大,误差率越高则权重越小。
?3、Adaboost分类算法¶
假设二分类的训练数据集$T=\{(x_1,y_1),(x_2,y_2),???,(x_m,y_m)\}$,分类标记定义为$y_i\in \{+1,?1\}$。
3.1 初始化权重¶
假设每一个训练样本最开始时都被赋予相同的权值:$1/m$,即每个训练样本在基本分类器的学习中作用相同。数学化的语言表示为$$w^{t=1}_i=\frac{1}{m}$$
3.2 训练弱分类器¶
假设执行M轮弱分类器的训练可以组合得到一个强分类器,则第k轮的训练样本的基分类$G_k(x):\{-1,1\}$,权值分布为$D_m:\{w_{k1},w_{k2},…,w_{km}\}$。
训练过程主要包含3步操作。即计算分类误差率 、计算基分类器权重、更新下一个弱分类器权重。下面将对第k步的弱学习器计算进行叙述。
(1)计算分类误差率
第$k$轮基分类器$G_k(x)$在训练数据集上的分类误差率$e_k$定义为 $$e_k = P(G_k(x_i) \neq y_i) = \sum\limits_{i=1}^{m}w_{ki}I(G_k(x_i) \neq y_i),且\sum\limits_{i=1}^{m}w_{ki}=1。$$
可以看出,$G_k(x)$在加权的训练数据集上的分类误差率是被$G_k(x)$误分类样本的权值之和,由此可以看出数据权值分布$D_m$与基本分类器$G_k(x)$的分类误差率的关系。
(2)计算基分类器权重系数
该系数表示$G_M(x)$在最终分类器中的重要程度,目的在于使我们得到基分类器在最终分类器中所占的权值,系数计算公式如下: $$\alpha_k = \frac{1}{2}log\frac{1-e_k}{e_k}$$
如果分类误差率$e_k$越大,则对应的弱分类器权重系数$\alpha_k$越小。也就是说,误差率小的弱分类器权重系数越大。
由表达式可知,当$e_k\leq 12$时,$\alpha_k\geq 0$,并且$\alpha_k$随着$e_k$的减小而增大,意味着分类误差越小的基本分类器在最终分类器的作用越大,而$e_k\geq 12$则刚好相反,这正好验证了集成学习中每个个体分类器的分类精度必须大于0.5的前提条件。
(3)更新训练集的权值分布
假设第$k$个弱分类器的样本集权重系数为$D(k) = (w_{k1}, w_{k2}, ...w_{km})$,则对应的第$k+1$个弱分类器的样本集权重系数为 $$w_{k+1,i} = \frac{w_{ki}}{Z_k}exp(-\alpha_ky_iG_k(x_i))$$
$Z_k$是规范化因子 $$Z_k = \sum\limits_{i=1}^{m}w_{ki}exp(-\alpha_ky_iG_k(x_i))$$
3.3 组合强分类器¶
基分类器根据权重参数线性组合的结合策略,最终的强分类器为 $$f(x) = sign(\sum\limits_{k=1}^{M}\alpha_kG_k(x))$$
?4、Adaboost回归算法¶
假设二分类的训练数据集$T=\{(x_1,y_1),(x_2,y_2),???,(x_n,y_n)\}$。
4.1 初始化权重¶
假设每一个训练样本最开始时都被赋予相同的权值:$1/m$,即每个训练样本在基本分类器的学习中作用相同。数学化的语言表示为$$w^{t=1}_i=\frac{1}{m}$$
4.2 训练弱分类器¶
假设执行M轮弱分类器的训练可以组合得到一个强分类器,则第k轮的训练样本的基分类$G_k(x)$,权值分布为$Dn:\{w_{k1},w_{k2},…,w_{km}\}$。
训练过程主要包含5步操作。即计算训练集最大误差、计算每个样本的相对误差、计算分类误差率 、计算基分类器权重、更新下一个弱分类器权值分布。下面将对第k步的弱学习器计算进行叙述。
(1)计算训练集最大误差
$$E_k= max|y_i - G_k(x_i)|\;i=1,2...m$$(2)计算每个样本的相对误差
若是线性误差,则$$e_{ki}= \frac{|y_i - G_k(x_i)|}{E_k}$$
若是平方误差,则$$e_{ki}= \frac{(y_i - G_k(x_i))^2}{E_k^2}$$
若是指数误差,则$$e_{ki}= 1 - exp(\frac{-y_i + G_k(x_i))}{E_k})$$
(3)计算分类误差率 $$e_k = \sum\limits_{i=1}^{m}w_{ki}e_{ki}$$
(4)计算基分类器权重系数
$$\alpha_k =\frac{e_k}{1-e_k}$$(5)更新训练集的权值分布
假设第$k$个弱分类器的样本集权重系数为$D(k) = (w_{k1}, w_{k2}, ...w_{km})$,则对应的第$k+1$个弱分类器的样本集权重系数为
$$w_{k+1,i} = \frac{w_{ki}}{Z_k}\alpha_k^{1-e_{ki}}$$$Z_k$是规范化因子
$$Z_k = \sum\limits_{i=1}^{m}w_{ki}\alpha_k^{1-e_{ki}}$$4.3 组合强分类器¶
基于对加权的弱学习器取权重中位数对应的弱学习器作为强学习器的结合策略,最终的强回归器为
$$f(x) =[\sum_{k=1}^M(\ln(\frac{1}{\alpha_k}))]g(x)$$其中,$g(x)$是所有$\alpha_kG_k(x), k=1,2,....M$的中位数。
另外还有基于加权平均的结合策略,则最终的强回归类器为
$$f(x) =\sum_{k=1}^M(\ln(\frac{1}{\alpha_k}))G_k(x)$$ ?5、总结¶
总的来说,Adaboost的分类和回归算法原理非常相似,区别之处就是误差计算和结合策略有所差异。对于弱学习器(决策树)而言,Adaboost分类一般使用CART分类树,而Adaboost回归一般使用CART回归树。
内容总结
以上是互联网集市为您收集整理的集成学习之Adaboost算法全部内容,希望文章能够帮你解决集成学习之Adaboost算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。