Derivation
This derivation follows Rojas (2009):
Suppose we have a data set
So it remains to determine which weak classifier is the best choice for
Letting
We can split this summation between those data points that are correctly classified by
Since the only part of the right-hand side of this equation that depends on
To determine the desired weight
The value of
We calculate the weighted error rate of the weak classifier to be
Note: This derivation only applies when
Thus we have derived the AdaBoost algorithm: At each iteration, choose the classifier
Statistical understanding of boosting
Boosting is a form of linear regression in which the features of each sample
While regression tries to fit
One feature of the choice of exponential error function is that the error of the final additive model is the product of the error of each stage, that is,
There is a lot of flexibility allowed in the choice of loss function. As long as the loss function is monotonic and continuously differentiable, the classifier is always driven toward purer solutions. Zhang (2004) provides a loss function based on least squares, a modified Huber loss function:
This function is more well-behaved than LogitBoost for ), unlike unmodified least squares, and only penalises samples misclassified with confidence greater than 1 linearly, as opposed to quadratically or exponentially, and is thus less susceptible to the effects of outliers.
Boosting as gradient descent
Example algorithm (Discrete AdaBoost)
With:
- Samples
- Desired outputs
- Initial weights
- Error function
- Weak learners
For
- Choose
- Add to ensemble:
- Update weights:
- Renormalize
- (Note: It can be shown that
Variants
Real AdaBoost
The output of decision trees is a class probability estimate
Thus, rather than multiplying the output of the entire tree by some fixed value, each leaf node is changed to output half the logit transform of its previous value.
LogitBoost
Gentle AdaBoost
While previous boosting algorithms choose
Early termination
A technique for speeding up processing of boosted classifiers, early termination refers to only testing each potential object with as many layers of the final classifier necessary to meet some confidence threshold, speeding up computation for cases where the class of the object can easily be determined. One such scheme is the object detection framework introduced by Viola and Jones: in an application with significantly more negative samples than positive, a cascade of separate boost classifiers is trained, the output of each stage biased such that some acceptably small fraction of positive samples is mislabeled as negative, and all samples marked as negative after each stage are discarded. If 50% of negative samples are filtered out by each stage, only a very small number of objects would pass through the entire classifier, reducing computation effort. This method has since been generalized, with a formula provided for choosing optimal thresholds at each stage to achieve some desired false positive and false negative rate.
In the field of statistics, where AdaBoost is more commonly applied to problems of moderate dimensionality, early stopping is used as a strategy to reduce overfitting. A validation set of samples is separated from the training set, performance of the classifier on the samples used for training is compared to performance on the validation samples, and training is terminated if performance on the validation sample is seen to decrease even as performance on the training set continues to improve.
Totally corrective algorithms
For steepest descent versions of AdaBoost, where
Pruning
Pruning is the process of removing poorly performing weak classifiers to improve memory and execution-time cost of the boosted classifier. The simplest methods, which can be particularly effective in conjunction with totally corrective training, are weight- or margin-trimming: when the coefficient, or the contribution to the total test error, of some weak classifier falls below a certain threshold, that classifier is dropped. Margineantu & Dietterich suggested an alternative criterion for trimming: weak classifiers should be selected such that the diversity of the ensemble is maximized. If two weak learners produce very similar outputs, efficiency can be improved by removing one of them and increasing the coefficient of the remaining weak learner.