Difference between revisions of "Boosting"

From Cohen Courses
Jump to navigationJump to search
Line 1: Line 1:
 
== Summary ==
 
== Summary ==
[[category::method]]
+
The underlying idea of this [[category::method]] is to combine simple "rules" or weak learners, each performing only slightly better than random, to form an ensemble such that the performance of the single ensemble member is improved, i.e "boosted". Let <math>h_1,h_2, \ldots ,h_T</math> be a set of hypotheses, and consider the composite ensemble hypothesis
 +
 
 +
<math>f(x)= \sum_{t=1}^{T} \alpha_{t} h_t(x)</math>
 +
 
 +
Here <math>\alpha_{t} </math> denotes the coefficient with which the ensemble member <math>h_t</math> is combined; both <math>\alpha_{t} </math> and the learner or the hypotheses <math>h_t</math> are to be learned within the Boosting procedure. The coefficients <math>\alpha_{t}'s</math> (or weights) are set in iterations. The intuitive idea is that examples that are misclassified get higher weights in the next iteration, for instance the examples near the decision boundary are usually harder to classify and therefor get high weights after a few iterations.
 +
 
 +
== AdaBoost ==
 +
Tha AdaBoost algorithm by [[Paper:Yoav Freund, Robert E. Schapire, 1995 | Freund and Schapire]] is one of the most successful Boosting algorithm. We focus on the problem of ''binary classfication'' and present the AdaBoost algorithm for it.
 +
 
 +
[[File:AdaBoost.jpg]]
 +
 
 +
A non negative weighting <math>\mathbf{d}^{(t)} = (d_{1}^{(t)}, \ldots , d_{N}^{(t)})</math> is assigned to the data at step <math>t</math>, and a weak learner <math>h_t</math> is constructed based on <math>\mathbf{d}^{(t)}</math>. This weighting is updated at each iteration <math>t</math> according to the weighted error incurred by the weak learner in the last iteration. At each step <math>t</math>, the weak learner is required to produce a small weighted empirical error defined by
 +
 
 +
<math>\varepsilon_t(h_t, \mathbf{d}^{(t)}) = \sum_{n=1}^{N} d_n^{(t)} \mathbf{I}(y_n \neq h_t(\boldsymbol{x}_n))</math>
 +
 
 +
After selecting the hypothesis <math>h_t</math>, its weight <math>\alpha_t</math> is computed such that it minimizes a certain loss function. In AdaBoost one minimizes
 +
 
 +
<math>\mathrm{G}^{AB}(\alpha) = \sum_{n=1}^{N} \mathrm{exp} \{-y_n(\alpha h_t(\boldsymbol{x}_n) + f_{t-1}(\boldsymbol{x}_n))\}</math>,
 +
 
 +
where <math>f_{t-1}</math> is the combined hypotheses of the previous iteration given by
 +
 
 +
<math>f_{t-1}(\boldsymbol{x}_n) = \sum_{r=1}^{t-1} \alpha_r h_r(\boldsymbol{x}_n)</math>
 +
 
 +
For AdaBoost it has been shown that <math>\alpha_t</math> can be computed analytically leading to the expression in step (3c) of the algorithm. Based on the new combined hypotheses, the weighting <math>\boldsymbol{d}</math> of the sample is updated as in step (3d) of algorithm. The initial weighting <math>\boldsymbol{d}^{(1)}</math> is chosen uniformly: <math>d_n^{(n)} = 1/N</math>

Revision as of 12:31, 30 September 2011

Summary

The underlying idea of this method is to combine simple "rules" or weak learners, each performing only slightly better than random, to form an ensemble such that the performance of the single ensemble member is improved, i.e "boosted". Let be a set of hypotheses, and consider the composite ensemble hypothesis

Here denotes the coefficient with which the ensemble member is combined; both and the learner or the hypotheses are to be learned within the Boosting procedure. The coefficients (or weights) are set in iterations. The intuitive idea is that examples that are misclassified get higher weights in the next iteration, for instance the examples near the decision boundary are usually harder to classify and therefor get high weights after a few iterations.

AdaBoost

Tha AdaBoost algorithm by Freund and Schapire is one of the most successful Boosting algorithm. We focus on the problem of binary classfication and present the AdaBoost algorithm for it.

AdaBoost.jpg

A non negative weighting is assigned to the data at step , and a weak learner is constructed based on . This weighting is updated at each iteration according to the weighted error incurred by the weak learner in the last iteration. At each step , the weak learner is required to produce a small weighted empirical error defined by

After selecting the hypothesis , its weight is computed such that it minimizes a certain loss function. In AdaBoost one minimizes

,

where is the combined hypotheses of the previous iteration given by

For AdaBoost it has been shown that can be computed analytically leading to the expression in step (3c) of the algorithm. Based on the new combined hypotheses, the weighting of the sample is updated as in step (3d) of algorithm. The initial weighting is chosen uniformly: