Adaboost
解决的是二分类问题
思路
- 数学表达式
- 加法模型
- f ( x ) = ∑ i = 1 M α i G i ( x ) f(x) = \sum_{i=1}^M\alpha_iG_i(x) f(x)=i=1∑MαiGi(x)
- 样本权重更新
- 每一轮都记录好被当前弱分类器 G i G_i Gi正确分类和错误分类的样本,在下一轮训练时提高被错误分类的样本的权值,降低被正确分类的样本的权值,用以训练下一轮新的弱分类器 G i + 1 G_{i+1} Gi+1。如此,下一轮训练时,那些被错误分类的会得到更多的关注。
- 弱分类器表决权重
α
i
\alpha_i
αi 更新
- 加大分类错误率小的弱分类器的表决权重
- 减小分类错误率大的弱分类器的表决权重
- 加法模型
算法流程
- 初始化或更新样本权重
- 样本权重初始化
- 样本权重更新
- 规范化因子 Z i − 1 = ∑ j = 1 N w i − 1 e − α i − 1 y j G i − 1 ( x j ) Z_{i-1}=\sum_{j=1}^Nw_{i-1}e^{-\alpha_{i-1}y_jG_{i-1}(x_j)} Zi−1=j=1∑Nwi−1e−αi−1yjGi−1(xj)
- 权重调整: w i j = w i − 1 e − α i − 1 y j G i − 1 ( x j ) Z i − 1 w_{ij}=\frac{w_{i-1}e^{-\alpha_{i-1}y_jG_{i-1}(x_j)}}{Z_{i-1}} wij=Zi−1wi−1e−αi−1yjGi−1(xj)
- 训练当前基分类器 G i ( x ) G_i(x) Gi(x)
- 计算当前基分类器
G
i
(
x
)
G_i(x)
Gi(x) 的决策权重
α
i
\alpha_i
αi
- Sub title
-
- 计算当前 G i ( x ) G_i(x) Gi(x) 的在训练集上的错误率 e i = ∑ j = 1 N w i j × I ( G i ( x j ) ≠ y j ) = ∑ G i ( x j ) ≠ y i w i j e_i = \sum_{j=1}^Nw_{ij}\times I(G_i(x_j)\neq y_j) =\sum_{G_i(x_j)\neq y_i}w_{ij} ei=j=1∑Nwij×I(Gi(xj)=yj)=Gi(xj)=yi∑wij 0 < = e i < = 0.5 0<=e_i<=0.5 0<=ei<=0.5
-
- Sub title
-
- 根据分类错误率
e
i
e_i
ei 计算弱分类器的决策权重
α
i
\alpha_i
αi
α
i
=
1
2
log
1
−
e
i
e
i
\alpha_i = \frac{1}{2}\log\frac{1-e_i}{e_i}
αi=21logei1−ei
α i > 0 随 e i 增大而减小 \alpha_i > 0 随e_i增大而减小 αi>0随ei增大而减小
- 根据分类错误率
e
i
e_i
ei 计算弱分类器的决策权重
α
i
\alpha_i
αi
α
i
=
1
2
log
1
−
e
i
e
i
\alpha_i = \frac{1}{2}\log\frac{1-e_i}{e_i}
αi=21logei1−ei
-
- Sub title
- 最终分类器sign(f(x)) ^c41093