机器学习中的提升算法与模型选择
1. 提升算法概述
提升(Boosting)是一种用于提高弱学习器准确性的方法。以 AdaBoost 算法为例,经过 T 次迭代后,它会从类 L(B, T) 中返回一个假设,该假设是通过对基类 B 中的 T 个假设进行线性分类器组合得到的。参数 T 控制着近似误差和估计误差之间的权衡。
1.1 理论推导
在某些假设下,如 d 和 T 至少为 3 时,有如下推导:
[
(em/d)^{dT} (em/T)^{T} \leq m^{(d + 1)T}
]
由于假设 C 被打散,所以前面的式子至少为 (2^m),即 (2^m \leq m^{(d + 1)T}),进而可得 (m \leq \frac{\log(m)(d + 1)T}{\log(2)})。根据相关引理,还能得到 (m \leq \frac{2(d + 1)T}{\log(2)} \log \frac{(d + 1)T}{\log(2)} \leq (d + 1)T(3\log((d + 1)T) + 2))。
1.2 AdaBoost 的多视角解读
- 理论层面 :AdaBoost 可被视为一个负面结果。如果对一个假设类进行强学习在计算上是困难的,那么对该类进行弱学习同样困难。这一结果有助于基于其他类 H 的 PAC 学习难度来证明类 B 的不可知 PAC 学习难度。
- 与其他理论的关系 :它显示了弱学习器的存在与使用基假设预测的线性分类器对数据的可分性之间的等价性,这与冯·诺伊曼的极小极大定理密
超级会员免费看
订阅专栏 解锁全文

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



