【集成学习】Boosting策略典型算法原理

集成学习

集成学习是一种由多种弱学习器组合成强学习器的策略,主要分为3类:Boosting方法、Bagging方法、Stacking方法。

在这里插入图片描述

一、Boosting

Boosting方法基于串行策略,新的学习器由旧的学习器生成。
代表算法有:

  • AdaBoost
  • 提升树BT
  • 梯度提升树GBDT
  • XGBoost

Boosting算法要解决两个问题:

  • Q1:如何改变样本数据的权值?
  • Q2:如何将弱分类器组合成强分类器?

1.1 AdaBoost

对于Boosting对应的两个问题,AdaBoost的策略为:

  • A1:开始时分配同样权值,根据分类误差,提升弱分类器中分类错误的样本权值(对错误的更敏感),降低正确分类样本的权值。
  • A2:采用加权表决法组合成强分类器,分类错误率小的分类器有更大的权值。

注:用到两种权值,一个是对样本的,一个是对分类器的。对样本的权值分类错的更大,对弱分类器的权值分类越好(错误率越小)的权值越大。

1.1.1 公式推导

数据有N个,基学习器有M个,如第m个基学习器为 B m ( x ) B_m(x) Bm(x),最终输出为由基学习器组合而成的最终学习器B(x)。
1.初始化权重分布
D m = ( w m , 1 , w m , 2 , ⋯   , w m , N ) , w m , i = 1 N D_m=(w_{m,1},w_{m,2},\cdots ,w_{m,N}),w_{m,i}=\frac {1}{N} Dm=(wm,1,wm,2,,wm,N),wm,i=N1
其中权值是分给每个样本的, D m D_m Dm表示第m个基学习器的样本权值分配。

2.每个基学习器的学习过程

2.1 使用权值分布为 D m D_m Dm的数据集,得到基学习器 B m ( x ) B_m(x) Bm(x)的分类结果
B m ( x ) = χ → { − 1 , + 1 } B_m(x)=\chi \rightarrow \{-1,+1\} Bm(x)=χ{ 1,+1}
即将样本映射到区间[-1,+1]上。

2.2 弱分类器 B m ( x ) B_m(x) Bm(x)的误差
e m = P ( B m ≠ y i ) = ∑ i = 1 N w m , i I ( B m ≠ y i ) e_m=P(B_m\neq y_i) =\sum _{i=1}^{N}w_{m,i}I(B_m\neq y_i) em=P(Bm̸=yi)=i=1Nwm,iI(Bm̸=yi)

2.3 计算 B m ( x ) B_m(x) Bm(x)系数
α m = 1 2 l n 1 − e m e m \alpha _m= \frac {1}{2} ln \frac {1-e_m}{e_m} αm=21lnem1em

由上述公式可以看出某个弱分类器的权值分配的基本原则为:分类的越准,权值越大。

2.4 更新训练集权值分布
D m + 1 = ( w m + 1 , 1 , w m + 1 , 2 , ⋯   , w m + 1 , N ) D_{m+1} =(w_{m+1,1},w_{m+1,2},\cdots ,w_{m+1,N}) Dm+1=(wm+1,1,wm+1,2,,wm+1,N)
其中
w m + 1 , i = w m , i ⋅ e x p ( − α m ⋅ y i B m ( x i ) ) Z m w_{m+1,i}=\frac {w_{m,i}\cdot exp(-\alpha_m \cdot y_i B_m(x_i))}{Z_m} wm+1,i=Zmwm,iexp(α

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值