# 算法过程

算法8.1 AdaBoost

输入：\
训练数据集T={X, y}，X为N个包含n个特征的样本，y取值为-1或1\
弱学习算法\
输出：\
最终分类器G(x)

1. 将训练数据的权值分布初始化为均匀分布\
   $$w\_{mi}$$代表第m个弱分类器的第i个样本的权重。\
   则：

   $$
   w\_{1i} = \frac{1}{N}, i=1,2,\cdots,N
   $$
2. 根据权重$$w\_m$$得到第m个弱分类器：

   $$
   G\_m(x): {\Bbb X} \rightarrow {-1, +1}
   $$
3. 计算弱分类器$$G\_m(x)$$的**加权**误分类率，这个误分类率也是带权重计算的。

   $$
   e\_m = \sum\_{i=1}^Nw\_{mi}I(G\_m(x\_i) \neq y\_i)
   $$
4. 计算$$a\_m$$，$$a\_m$$代表第m个分类器的重要性：

   $$
   a\_m = \frac{1}{2}\log \frac{1-e\_m}{e\_m}
   $$

   其中，log以e为底\
   误分类率越小，这个弱分类器越有发言权。
5. 更新第m+1个弱分类器中每个样本的权重

   $$
   w\_{m+1,i} = w\_{mi}\exp (-a\_my\_iG\_m(x\_i))
   $$

   然后使$$w\_{m+1,i}$$成为一个分布，即满足$$\sum\_{i=1}^Nw\_{m+1,i}=1$$\
   \&#xNAN;*公式8.4我觉得不对，分母不应该是*$$Z\_m$$*，而应该是*$$Z\_{m+1}$$*，而*$$Z\_{m+1}$$*又依赖于*$$w\_{m+1,i}$$*的结果，所以要分成两步计算。*\
   $$y\_iG\_m(x\_i)$$代表对样本i是否分类正确。
6. 回到第2步，生成第m+1个弱分类器。 &#x20;
7. 生成m个弱分类器后，组成一个强分类器 &#x20;

   $$
   \begin{aligned}
   f(x) = \sum\_{m=1}^Ma\_mG\_m(x)   \\
   G(x) = \text {sign}(f(x))\
   \end{aligned}
   $$
