提升方法 (Boosting)是一种机器学习 中的集成学习 元启发算法 ,主要用来减小監督式學習 中偏差 并且也减小方差 [ 1] ,以及一系列将弱学习器转换为强学习器的机器学习算法[ 2] 。面對的问题是邁可·肯斯(Michael Kearns)和莱斯利·瓦利安特 (Leslie Valiant)提出的:[ 3] 一組“弱学习者”的集合能否生成一个“强学习者”?弱学习者一般是指一个分类器,它的结果只比随机分类好一点点;强学习者指分类器的结果非常接近真值。
Robert Schapire在1990年的一篇论文中[ 4] 对肯斯和瓦利安特的问题的肯定回答在机器学习和统计方面产生了重大影响,最显着的是导致了提升方法 的发展[ 5] 。
提升算法
大多数提升算法包括由迭代使用弱学习分類器組成,並將其結果加入一個最終的成强学习分類器。加入的过程中,通常根据它们的分类准确率给予不同的权重。加和弱学习者之后,数据通常会被重新加权,来强化对之前分类错误数据点的分类。
插圖展示了提升算法背後的直覺,由並行學習器和加權數據集組成。
一个经典的提升算法例子是AdaBoost 。一些最近的例子包括LPBoost 、TotalBoost 、BrownBoost 、MadaBoost 及LogitBoost 。许多提升方法可以在AnyBoost 框架下解释为在函数空间 利用一个凸的误差函数作梯度下降 。
批评
2008年,谷歌 的菲利普·隆(Phillip Long)與哥倫比亞大學 的羅可·A·瑟維迪歐(Rocco A. Servedio)发表论文指出这些方法是有缺陷的:在训练集有错误的标记的情况下,一些提升算法雖會尝试提升这种样本点的正确率,但卻無法产生一个正确率大于1/2的模型。[ 6]
相關條目
实现
Orange , a free data mining software suite, module Orange.ensemble (页面存档备份 ,存于互联网档案馆 )
Weka is a machine learning set of tools that offers variate implementations of boosting algorithms like AdaBoost and LogitBoost
R package GBM (页面存档备份 ,存于互联网档案馆 ) (Generalized Boosted Regression Models) implements extensions to Freund and Schapire's AdaBoost algorithm and Friedman's gradient boosting machine.
jboost; AdaBoost, LogitBoost, RobustBoost, Boostexter and alternating decision trees
参考文献
腳註
其他參考資料
外部链接