机器学习—提升算法


本文将记录《统计学习方法》中有关提升学习Adaboost的内容。
Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

提升算法需要解决的问题:
1)如何计算弱分类器学习误差率e?
2) 如何得到弱学习器权重系数α?
3)如何更新样本权重D?
4) 使用何种结合策略结合得到强学习算法?

Adaboost分类算法

输入:数据集 T = { ( x 1 , y 1 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),...,(x_N,y_N)\} T={ (x1,y1),...,(xN,yN)}
输出:最终的强分类器

  1. 初始化了全部样本的权重:
    W 0 = { w 1 0 , . . . w N 0 } ,    w i 0 = 1 N W^0=\{w_1^0,...w_N^0\},\;w_i^0=\frac{1}{N} W0={ w10,...wN0},wi0=N1
  2. 对于m=1,2…,M次迭代的弱分类器:
    1. 对上次的样本权重构建弱分类器: G m G_m Gm
    2. 计算在弱分类器上的分类误差:
      E m = ∑ i N w i m I ( G m ( x i ̸ = y i ) ) E_m=\sum_i^Nw^m_iI(G_m(x_i\not=y_i)) Em=iNwimI(Gm(xi̸=yi))
    3. 计算该弱分类器的结合权重:
      α m = 1 2 l o g E m 1 − E m \alpha_m=\frac{1}{2}log{E_m \over1-E_m } αm=21log1EmEm
    4. 调整样本权重:
      W m + 1 = { w i m + 1 , . . . , w N m + 1 } w i m + 1 = w i m Z e − α i y i G m ( x i ) Z = ∑ i N
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值