引言
AdaBoost 其实很简单,就像我们参加模拟考试。
比如我们高考前要模拟考试10次,每次模拟完都需要分析各科的强弱,然后有针对性的复习,提升弱势科目,准备下一次模拟考试。
- 第一次考完发现物理化学较弱,复习时就给物理化学多一些时间。
- 第二次发现物理化学上去了,数学又相对较弱,复习时就多给数学一些时间。
- 依次类推,每次把相对较弱的科目多用些时间。
通过这十次模拟考试,相信我们的综合成绩会有很大的提升,在高考来临时一定能考出好成绩!
AdaBoost 简介
AdaBoost 全称 (Adaptive Boosting) 自适应增强,可以自适应地调整样本权重和分类器权重。
AdaBoost 由多个基本分类器组成,各个分类器顺序执行,每个后续分类器都根据前一个分类器的结果调整样本的权重,正确分类的样本调高权重,错误分类的样本调低权重。最后各个分类器根据分类器权重组合成最终分类器,给出分类结果。
AdaBoost 详解
问题描述:N 个样本的二分类问题, 类别 y ∈ { 1 , − 1 } y \in \{1, -1\} y∈{ 1,−1}。
1. 初始化权重
起初 N 个样本中每个样本的权重 w i = 1 N w_i = \frac{1}{N} wi=N1,样本权重之和为 1.
2. 基本分类器
a. 根据样本权重 w m , i w_{m,i} wm,i 构建基本分类器 G m G_m Gm(比如决策树, 这里下标 m 表示第几个分类器),利用基本分类器对样本进行分类:
- 分类正确时: G m ( x i ) = y i G_m(x_i) = y_i Gm(xi)=yi
- 分类错误时: G m ( x i ) ≠ y i G_m(x_i) \ne y_i Gm(xi)=yi
b. 误差率 e m e_m em 为分类错误的样本权重之和
e m = ∑ i = 1 N w m , i I ( G m ( x i ) ≠ y i ) e_m = \sum_{i=1}^N w_{m,i} I(G_m(x_i) \ne y_i) em=i=1∑Nwm,iI(Gm(xi)=yi)
其中 I ( x ) I(x) I(x) 用于计数:
I ( x ) = { 1 , x = T r u e 0 , x = F a l s e I(x) = \begin{cases} 1,\quad x = True \\ 0,\quad x = False \end{cases} I(x)={ 1,x=True0,x=False
3. 计算权重
a. 分类器 G m G_m Gm 在最终多个分类器中的权重:
α m = 1 2 l o g 1 − e m e m \alpha_m = \frac12\,log\,\frac{1-e_m}{e_m} αm=21logem1