提升算法:从弱学习到强学习的飞跃
1. 提升算法概述
提升(Boosting)算法源于一个理论问题,如今已成为实用的机器学习工具。它主要解决两个关键问题:
- 偏差 - 复杂度权衡 :经验风险最小化(ERM)学习者的误差可分解为近似误差和估计误差。假设类表达能力越强,近似误差越小,但估计误差越大。提升算法能让学习者平滑控制这种权衡,从基本类开始学习,随着过程推进,预测器所属的类会变得更丰富。
- 学习的计算复杂度 :对于许多概念类,找到ERM假设在计算上可能不可行。提升算法可放大弱学习者的准确性。弱学习者可看作使用简单“经验法则”输出假设的算法,其表现仅略优于随机猜测。当弱学习者能高效实现时,提升算法可聚合这些弱假设,为更复杂的类逐步逼近良好的预测器。
2. AdaBoost算法的起源与发展
AdaBoost(自适应提升)算法是一种实用的提升算法。它输出的假设是简单假设的线性组合,依赖于在简单类之上组合线性预测器得到的假设类家族。通过改变单个参数,AdaBoost可控制近似误差和估计误差之间的权衡。
AdaBoost源于一个理论问题:能否将高效的弱学习者“提升”为高效的强学习者。这个问题由Kearns和Valiant在1988年提出,1990年由Robert Schapire解决,但当时提出的机制不太实用。1995年,Robert Schapire和Yoav Freund提出了AdaBoost算法,这是提升算法的首个真正实用的实现,该算法简单优雅,广受欢迎,他们的工作也获得了众多奖项。
超级会员免费看
订阅专栏 解锁全文
1218

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



