Day09-集成学习-机器学习-Adaboost算法(DataWhale)

Adaboost是一种Boosting方法,通过改变训练数据集权重,连续训练弱分类器并组合,形成强分类器。算法核心包括调整错误分类样本权重和加权多数表决。文章详细介绍了Adaboost的原理、案例及在Python中的实现,展示了其在提高分类性能和防止过拟合上的优势。
摘要由CSDN通过智能技术生成

三、Boosting方法

  • Boosting方法是使用同一组数据集进行反复的学习,得到一系列简单模型,然后组合这些模型构成一个预测性能十分强大的学习模型。
  • Boosting方法是通过不断减小偏差的形式,而Bagging是通过降低方差的方法。
  • 大部分Boosting方法是通过改变训练数据集的概率分布(训练数据不同样本的权值),针对不同概率分布的数据调用弱分算法学习一系列的弱分类器
  • Boosting解决两个问题:(1)每一轮学习如何改变数据的概率分布;(2)如何将各个弱分类器组合起来。

3.1 Adaboost算法

原理

解决上述两个问题的方式:

  • 针对1,提高被前一轮分类器错误分类的样本的权重,降低被正确分类的样本的权重,在上一轮分类器中没得到正确分类的样本,由于权重的增大在后一轮的训练中"备受关注"
  • 针对2,各个弱分类器的组合通过采取加权多数表决的方式,加大分类错误率低的弱分类器的权重,减小分类错误率较大的弱分类器的权重。

推导

假设给定一个二分类的训练数据集:
T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) T = {(x_1,y_1), (x_2,y_2), … ,(x_N,y_N)} T=(x1,y1),(x2,y2),,(xN,yN)
其中每一个样本点由特征和类别组成。特征 x i ∈ X ⊆ R n x_i \in \mathcal{X} \subseteq R^n xiXRn,类别 y i ∈ Y = { − 1 , + 1 } y_i \in \mathcal{Y} = \{-1,+1\} yiY={ 1,+1} X \mathcal{X} X是特征空间, Y \mathcal{Y} Y是类别集合,输出最终分类器 G ( x ) G(x) G(x)

Adaboost算法:

(1) 初始化训练数据的分布

D 1 = ( w 11 , … , w 1 i , … , w 1 N ) , w 1 i = 1 N , i = 1 , 2 , … , N D_1 = (w_{11},…,w_{1i},…,w_{1N}),w_{1i} = \frac{1}{N},i=1,2,…,N D1=(w11,,w1i,,w1N)w1i=N1i=1,2,,N
说明:首先假设训练数据得权值分布是均匀分布

(2) 对于 m = 1 , 2 … , M m=1,2…,M m=1,2,M

  • 使用具有权值分布 D m D_m Dm的训练数据集进行学习,得到基本分类器: G m ( x ) : X → { − 1 , + 1 } G_m(x): \mathcal{X} \rightarrow \{-1,+1\} Gm(x):X{ 1,+1}
  • 计算 G m ( x ) G_m(x) Gm(x)在训练集上的分类错误率

    e m = ∑ i = 1 N P ( G m ( x i ) ≠ y i ) = ∑ i = 1 N w m i I ( G m ( x i ) ≠ y i ) e_m = \sum_{i=1}^NP(G_m(x_i) \neq y_i) = \sum_{i=1}^Nw_{mi}I(G_m(x_i) \neq y_i) em=i=1NP(Gm(xi)=yi)=i=1NwmiI(Gm(xi)=yi)
  • 计算 G m ( x ) G_m(x) Gm(x)的系数 α m = 1 2 l o g 1 − e m e m \alpha _m = \frac{1}{2}log\frac{1-e_m}{e_m} αm=21logem1emlog返回自然对数
  • 更新训练集的权重分布:
    D m + 1 = ( w m + 1 , 1 , … , w m + 1 , i , … w m + 1 , N ) w m + 1 , i = w m i Z m e x p ( − α m y i G m ( x i ) ) , i = 1 , 2 , … , N D_{m+1} = (w_{m+1,1},…,w_{m+1,i},…w_{m+1,N}) \\ w_{m+1,i} = \frac{w_{mi}}{Z_m}exp(-\alpha_my_iG_m(x_i)),i=1,2,…,N Dm+1=(wm+1,1,,wm+1,i,wm+1,N)wm+1,i=Zmwmiexp(αmyiGm(xi))i=1,2,,N
    Z m Z_m Z
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值