Boosting (meta-algorithm)

Boosting is a machine learning meta-algorithm for reducing bias in supervised learning. Boosting is based on the question posed by Kearns:[1] Can a set of weak learners create a single strong learner? A weak learner is defined to be a classifier which is only slightly correlated with the true classification (it can label examples better than random guessing). In contrast, a strong learner is a classifier that is arbitrarily well-correlated with the true classification.

Boosting (machine learning)

From Wikipedia, the free encyclopedia
  (Redirected from Boosting (meta-algorithm))

Boosting is a machine learning meta-algorithm for reducing bias in supervised learning. Boosting is based on the question posed by Kearns:[1] Can a set of weak learners create a single strong learner? A weak learner is defined to be a classifier which is only slightly correlated with the true classification (it can label examples better than random guessing). In contrast, a strong learner is a classifier that is arbitrarily well-correlated with the true classification.

Schapire's affirmative answer[2] to Kearns' question has had significant ramifications in machine learning and statistics, most notably leading to the development of boosting.

When first introduced, the hypothesis boosting problem simply referred to the process of turning a weak learner into a strong learner. "Informally, [the hypothesis boosting] problem asks whether an efficient learning algorithm […] that outputs a hypothesis whose performance is only slightly better than random guessing [i.e. a weak learner] implies the existence of an efficient algorithm that outputs an hypothesis of arbitrary accuracy [i.e. a strong learner]."[1] Algorithms that achieve hypothesis boosting quickly became simply known as "boosting". Freund and Schapire's arcing (Adapt[at]ive Resampling and Combining),[3] as a general technique, is more or less synonymous with boosting.[4]

 

Boosting algorithms[edit]

While boosting is not algorithmically constrained, most boosting algorithms consist of iteratively learning weak classifiers with respect to a distribution and adding them to a final strong classifier. When they are added, they are typically weighted in some way that is usually related to the weak learners' accuracy. After a weak learner is added, the data is reweighted: examples that are misclassified gain weight and examples that are classified correctly lose weight (some boosting algorithms actually decrease the weight of repeatedly misclassified examples, e.g., boost by majority and BrownBoost). Thus, future weak learners focus more on the examples that previous weak learners misclassified.

There are many boosting algorithms.  The original ones, proposed by Robert Schapire (a recursive majority gate formulation[2]) and Yoav Freund (boost by majority[5]), were not adaptive and could not take full advantage of the weak learners. They won the prestigious Gödel Prize for their work on AdaBoost, a boosting algorithm that they developed together. Only algorithms that are provable boosting algorithms in the probably approximately correct learning formulation are called boosting algorithms.  Other algorithms that are similar in spirit to boosting algorithms are sometimes called "leveraging algorithms", although they are also sometimes incorrectly called boosting algorithms.[5]

Examples of boosting algorithms[edit]

The main variation between many boosting algorithms is their method of weighting training data points and hypotheses.AdaBoost is very popular and perhaps the most significant historically as it was the first algorithm that could adapt to the weak learners. However, there are many more recent algorithms such as LPBoostTotalBoostBrownBoostMadaBoost,LogitBoost, and others. Many boosting algorithms fit into the AnyBoost framework,[5] which shows that boosting performsgradient descent in function space using a convex cost function.

Criticism[edit]

In 2008 Phillip Long (at Google) and Rocco A. Servedio (Columbia University) published a paper at the 25th International Conference for Machine Learning suggesting that many of these algorithms are probably flawed. They conclude that "convex potential boosters cannot withstand random classification noise," thus making the applicability of such algorithms for real world, noisy data sets questionable. The paper shows that if any non-zero fraction of the training data is mis-labeled, the boosting algorithm tries extremely hard to correctly classify these training examples, and fails to produce a model with accuracy better than 1/2. This result does not apply to branching program based boosters but does apply toAdaBoostLogitBoost, and others.[6]

See also[edit]

Implementations[edit]

  • 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.

References[edit]

Footnotes[edit]

  1. Jump up to:a b Michael Kearns (1988); Thoughts on Hypothesis Boosting, Unpublished manuscript (Machine Learning class project, December 1988)
  2. Jump up to:a b Schapire, Robert E. (1990). "The Strength of Weak Learnability"Machine Learning (Boston, MA: Kluwer Academic Publishers) 5 (2): 197–227. CiteSeerX10.1.1.20.723.
  3. Jump up^ Yoav Freund and Robert E. Schapire (1997); A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting, Journal of Computer and System Sciences, 55(1):119-139
  4. Jump up^ Leo Breiman (1998); Arcing Classifier (with Discussion and a Rejoinder by the Author), Annals of Statistics, vol. 26, no. 3, pp. 801-849: "The concept of weak learning was introduced by Kearns and Valiant (1988, 1989), who left open the question of whether weak and strong learnability are equivalent. The question was termed the boosting problem since [a solution must] boost the low accuracy of a weak learner to the high accuracy of a strong learner. Schapire (1990) proved that boosting is possible. A boosting algorithm is a method that takes a weak learner and converts it into a strong learner. Freund and Schapire (1997) proved that an algorithm similar to arc-fs is boosting.
  5. Jump up to:a b c Llew Mason, Jonathan Baxter, Peter Bartlett, and Marcus Frean (2000); Boosting Algorithms as Gradient Descent, in S. A. Solla, T. K. Leen, and K.-R. Muller, editors, Advances in Neural Information Processing Systems 12, pp. 512-518, MIT Press
  6. Jump up^ Long version published as Phillip M. Long and Rocco A. Servedio (2010); Random Classification Noise Defeats All Convex Potential Boosters, Machine Learning 78(3), pp. 287-304

Notations[edit]

External links[edit]

RELATED ARTICLESExplain
Machine Learning Methods & Algorithms
Supervised learning
Ensemble learning
Boosting (meta-algorithm)
LogitBoost
Randomized weighted majority algorithm
Weighted Majority Algorithm (WMA)
Statistical classification
Bootstrap aggregating (bagging)
Graph of this discussion
Enter the title of your article


Enter a short (max 500 characters) summation of your article
Enter the main body of your article
Lock
+Comments (0)
+Citations (0)
+About
Enter comment

Select article text to quote
welcome text

First name   Last name 

Email

Skip