HOME

TheInfoList



OR:

BrownBoost is a boosting algorithm that may be robust to noisy datasets. BrownBoost is an adaptive version of the
boost by majority Boost, boosted or boosting may refer to: Science, technology and mathematics * Boost, positive manifold pressure in turbocharged engines * Boost (C++ libraries), a set of free peer-reviewed portable C++ libraries * Boost (material), a material ...
algorithm. As is true for all boosting algorithms, BrownBoost is used in conjunction with other
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
methods. BrownBoost was introduced by
Yoav Freund Joab (Hebrew Modern: ''Yōʼav'', Tiberian: ''Yōʼāḇ'') the son of Zeruiah, was the nephew of King David and the commander of his army, according to the Hebrew Bible. Name The name Joab is, like many other Hebrew names, theophoric - der ...
in 2001.Yoav Freund. An adaptive version of the boost by majority algorithm. Machine Learning, 43(3):293--318, June 2001.


Motivation

AdaBoost AdaBoost, short for ''Adaptive Boosting'', is a statistical classification meta-algorithm formulated by Yoav Freund and Robert Schapire in 1995, who won the 2003 Gödel Prize for their work. It can be used in conjunction with many other types of ...
performs well on a variety of datasets; however, it can be shown that AdaBoost does not perform well on noisy data sets.Dietterich, T. G., (2000). An experimental comparison of three methods for constructing ensembles of decision trees: Bagging, boosting, and randomization. Machine Learning, 40 (2) 139-158. This is a result of AdaBoost's focus on examples that are repeatedly misclassified. In contrast, BrownBoost effectively "gives up" on examples that are repeatedly misclassified. The core assumption of BrownBoost is that noisy examples will be repeatedly mislabeled by the weak hypotheses and non-noisy examples will be correctly labeled frequently enough to not be "given up on." Thus only noisy examples will be "given up on," whereas non-noisy examples will contribute to the final classifier. In turn, if the final classifier is learned from the non-noisy examples, the generalization error of the final classifier may be much better than if learned from noisy and non-noisy examples. The user of the algorithm can set the amount of error to be tolerated in the training set. Thus, if the training set is noisy (say 10% of all examples are assumed to be mislabeled), the booster can be told to accept a 10% error rate. Since the noisy examples may be ignored, only the true examples will contribute to the learning process.


Algorithm description

BrownBoost uses a non-convex potential loss function, thus it does not fit into the
AdaBoost AdaBoost, short for ''Adaptive Boosting'', is a statistical classification meta-algorithm formulated by Yoav Freund and Robert Schapire in 1995, who won the 2003 Gödel Prize for their work. It can be used in conjunction with many other types of ...
framework. The non-convex optimization provides a method to avoid overfitting noisy data sets. However, in contrast to boosting algorithms that analytically minimize a convex loss function (e.g.
AdaBoost AdaBoost, short for ''Adaptive Boosting'', is a statistical classification meta-algorithm formulated by Yoav Freund and Robert Schapire in 1995, who won the 2003 Gödel Prize for their work. It can be used in conjunction with many other types of ...
and
LogitBoost In machine learning and computational learning theory, LogitBoost is a boosting algorithm formulated by Jerome Friedman, Trevor Hastie, and Robert Tibshirani. The original paper casts the AdaBoost algorithm into a statistical framework. Specific ...
), BrownBoost solves a system of two equations and two unknowns using standard numerical methods. The only parameter of BrownBoost (c in the algorithm) is the "time" the algorithm runs. The theory of BrownBoost states that each hypothesis takes a variable amount of time (t in the algorithm) which is directly related to the weight given to the hypothesis \alpha. The time parameter in BrownBoost is analogous to the number of iterations T in AdaBoost. A larger value of c means that BrownBoost will treat the data as if it were less noisy and therefore will give up on fewer examples. Conversely, a smaller value of c means that BrownBoost will treat the data as more noisy and give up on more examples. During each iteration of the algorithm, a hypothesis is selected with some advantage over random guessing. The weight of this hypothesis \alpha and the "amount of time passed" t during the iteration are simultaneously solved in a system of two non-linear equations ( 1. uncorrelated hypothesis w.r.t example weights and 2. hold the potential constant) with two unknowns (weight of hypothesis \alpha and time passed t). This can be solved by bisection (as implemented in the JBoost software package) or
Newton's method In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real-valu ...
(as described in the original paper by Freund). Once these equations are solved, the margins of each example (r_i(x_j) in the algorithm) and the amount of time remaining s are updated appropriately. This process is repeated until there is no time remaining. The initial potential is defined to be \frac\sum_^m 1-\mbox(\sqrt) = 1-\mbox(\sqrt). Since a constraint of each iteration is that the potential be held constant, the final potential is \frac\sum_^m 1-\mbox(r_i(x_j)/\sqrt) = 1-\mbox(\sqrt). Thus the final error is ''likely'' to be near 1-\mbox(\sqrt). However, the final potential function is not the 0-1 loss error function. For the final error to be exactly 1-\mbox(\sqrt), the variance of the loss function must decrease linearly w.r.t. time to form the 0-1 loss function at the end of boosting iterations. This is not yet discussed in the literature and is not in the definition of the algorithm below. The final classifier is a linear combination of weak hypotheses and is evaluated in the same manner as most other boosting algorithms.


BrownBoost learning algorithm definition

Input: * m training examples (x_,y_),\ldots,(x_,y_) where x_ \in X,\, y_ \in Y = \ * The parameter c Initialise: * s=c. (The value of s is the amount of time remaining in the game) * r_i(x_j) = 0   \forall j. The value of r_i(x_j) is the margin at iteration i for example x_j. While s > 0: * Set the weights of each example: W_(x_j) = e^, where r_i(x_j) is the margin of example x_j * Find a classifier h_i : X \to \ such that \sum_j W_i(x_j) h_i(x_j) y_j > 0 * Find values \alpha, t that satisfy the equation:
\sum_j h_i(x_j) y_j e^ = 0.
(Note this is similar to the condition E_ _i(x_j) y_j0 set forth by Schapire and Singer.Robert Schapire and Yoram Singer. Improved Boosting Using Confidence-rated Predictions. Journal of Machine Learning, Vol 37(3), pages 297-336. 1999 In this setting, we are numerically finding the W_ = \exp\left(\frac\right) such that E_ _i(x_j) y_j0.)
This update is subject to the constraint
\sum \left(\Phi\left(r_i(x_j) + \alpha h(x_j) y_j + s - t\right) - \Phi\left( r_i(x_j) + s \right) \right) = 0 ,
where \Phi(z) = 1-\mbox(z/\sqrt) is the potential loss for a point with margin r_i(x_j) * Update the margins for each example: r_(x_j) = r_i(x_j) + \alpha h(x_j) y_j * Update the time remaining: s = s - t Output: H(x) = \textrm\left( \sum_i \alpha_ h_(x) \right)


Empirical results

In preliminary experimental results with noisy datasets, BrownBoost outperformed
AdaBoost AdaBoost, short for ''Adaptive Boosting'', is a statistical classification meta-algorithm formulated by Yoav Freund and Robert Schapire in 1995, who won the 2003 Gödel Prize for their work. It can be used in conjunction with many other types of ...
's generalization error; however,
LogitBoost In machine learning and computational learning theory, LogitBoost is a boosting algorithm formulated by Jerome Friedman, Trevor Hastie, and Robert Tibshirani. The original paper casts the AdaBoost algorithm into a statistical framework. Specific ...
performed as well as BrownBoost.Ross A. McDonald, David J. Hand, Idris A. Eckley. An Empirical Comparison of Three Boosting Algorithms on Real Data Sets with Artificial Class Noise. Multiple Classifier Systems, In Series Lecture Notes in Computer Science, pages 35-44, 2003. An implementation of BrownBoost can be found in the open source softwar
JBoost


See also

* Boosting *
AdaBoost AdaBoost, short for ''Adaptive Boosting'', is a statistical classification meta-algorithm formulated by Yoav Freund and Robert Schapire in 1995, who won the 2003 Gödel Prize for their work. It can be used in conjunction with many other types of ...
*
Alternating decision tree An alternating decision tree (ADTree) is a machine learning method for classification. It generalizes decision trees and has connections to boosting. An ADTree consists of an alternation of decision nodes, which specify a predicate condition, and ...
s


References


External links


JBoost
{{DEFAULTSORT:Brownboost Classification algorithms Ensemble learning