多类分类问题算法解析
1. 多类分类问题概述
在实际应用中,我们常常会遇到多类分类问题,即需要将实例划分到两个以上的类别中。例如在字母识别任务里,要把图像分类到 A - Z 这 26 个类别中。虽然 AdaBoost 最初是为二分类问题设计的,但将其扩展到多类分类的方法有很多。
2. AdaBoost.M1 算法
- 算法原理 :AdaBoost.M1 是 AdaBoost 直接扩展到多类分类的版本。其设置与二分类情况基本相同,只是每个标签 $y_i$ 属于一个可能标签集合 $Y$,$Y$ 的基数 $|Y|$ 用 $K$ 表示。弱学习器生成的假设 $h$ 会为每个实例分配 $K$ 个可能标签中的一个,即 $h: X \to Y$。
- 算法步骤 :
- 初始化:给定 $(x_1, y_1), \ldots, (x_m, y_m)$,其中 $x_i \in X$,$y_i \in Y$,初始化分布 $D_1(i) = 1/m$,$i = 1, \ldots, m$。
- 迭代训练:
- 第 $t$ 轮,使用分布 $D_t$ 训练弱学习器,得到弱假设 $h_t: X \to Y$。
- 目标是选择 $h_t$ 使加权误差 $\epsilon_t = Pr_{i \sim D_t}[h_t(x_i) \neq y_i]$ 最小。
- 如果 $\epsilon_t \geq \frac{1}{2}$,则设置 $T = t - 1$ 并退出
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



