AdaBoost回归

回归过程

adaboost的核心就是求当前分类器的权重,和更新样本的误差。
样本的权重是根据当前分类器的误差率来计算的,当前模型的误差率通过如下方法来计算:

1. 计算训练集上的最大误差

Ek=max⁡∣yi−Gk(xi)∣i=1,2…m E_{k}=\max \left|y_{i}-G_{k}\left(x_{i}\right)\right| i=1,2 \ldots m Ek=maxyiGk(xi)i=1,2m

2. 计算每个样本的相对误差

相对误差的计算方法与误差的计算方法有关,比如平方误差:
eki=(yi−Gk(xi))2Ek2 e_{k i}=\frac{\left(y_{i}-G_{k}\left(x_{i}\right)\right)^{2}}{E_{k}^{2}} eki=Ek2(yiGk(xi))2

3.计算当前学习器的误差率

ek=∑i=1mwkieki e_{k}=\sum_{i=1}^{m} w_{k i} e_{k i} ek=i=1mwkieki

4. 计算当前学习器的权重

没有取ln
αk=ek1−ek \alpha_{k}=\frac{e_{k}}{1-e_{k}} αk=1ekek

5.更新样本的权重

wk+1,i=wkiZkαk1−eki w_{k+1, i}=\frac{w_{k i}}{Z_{k}} \alpha_{k}^{1-e_{k i}} wk+1,i=Zkwkiαk1eki
其中
Zk=∑i=1mwkiαk1−eki Z_{k}=\sum_{i=1}^{m} w_{k i} \alpha_{k}^{1-e_{k i}} Zk=i=1mwkiαk1eki

6.最终的集成学习器

f(x)=∑m=1M(ln⁡1αm)g(x) f(x)=\sum_{m=1}^{M}\left(\ln \frac{1}{\alpha_{m}}\right) g(x) f(x)=m=1M(lnαm1)g(x)

7.正则化

引入步长的概念,优点像梯度下降中的学习率,将每一轮的集成学习器
fk(x)=fk−1(x)+αkGk(x) f_{k}(x)=f_{k-1}(x)+\alpha_{k} G_{k}(x) fk(x)=fk1(x)+αkGk(x)
改为
fk(x)=fk−1(x)+ναkGk(x) f_{k}(x)=f_{k-1}(x)+\nu \alpha_{k} G_{k}(x) fk(x)=fk1(x)+ναkGk(x)
即从当前学习器中学习到较少的东西,这也意味着需要更多的迭代次数

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值