提升算法:从弱学习器到强学习器
1. 提升算法概述
提升(Boosting)算法的起源可以追溯到一个理论问题:能否将一个高效的弱学习器“提升”为一个高效的强学习器。1988 年,Kearns 和 Valiant 提出了这个问题,1990 年,当时还是麻省理工学院研究生的 Robert Schapire 解决了该问题,但提出的机制不太实用。直到 1995 年,Robert Schapire 和 Yoav Freund 提出了 AdaBoost 算法,这是提升算法的第一个真正实用的实现。这个简单而优雅的算法广受欢迎,Freund 和 Schapire 的工作也获得了众多奖项。
提升算法是学习理论实际影响的一个很好的例子。虽然提升算法最初是一个纯粹的理论问题,但它催生了许多流行且广泛使用的算法。例如,AdaBoost 已成功用于图像中的人脸检测。
2. 弱可学习性
2.1 PAC 学习回顾
回顾 PAC 学习的定义:一个假设类 H 是 PAC 可学习的,如果存在一个函数 (m_H : (0,1)^2 \to N) 和一个学习算法,满足对于任意的 (\epsilon, \delta \in (0,1)),任意的分布 D 以及任意的标记函数 (f : X \to {±1}),如果关于 H、D、f 的可实现假设成立,那么当在由 D 生成并由 f 标记的 (m \geq m_H(\epsilon, \delta)) 个独立同分布的样本上运行学习算法时,算法返回一个假设 h,使得以至少 (1 - \delta) 的概率,(L_{(D, f)}(h) \leq \epsilon)。
学习理论的基本定理表明,每个 PAC 可学习的类
超级会员免费看
订阅专栏 解锁全文

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



