One of the Ensemble classifiers that has attracted the greatest interest from researchers in recent years is undoubtedly AdaBoost (FS95). The basic idea of AdaBoost is to construct a list of classifiers by iteratively assigning a weight to each new classifier according to its ability to recognize samples that were incorrectly identified by the other classifiers already involved in training. All these classifiers vote with their assigned weights, and the final choice is made by majority vote.
Boosting techniques make it possible to generate a classifier in the form of an additive model:
| (5.79) |
Let us consider the binary classification case, and let
be the set of
samples available for training.
A fairly common choice when fitting models is to use least-squares regression (an optimal metric in the presence of Gaussian noise, for example) to obtain the additive model
, minimizing the quantity
.
However, numerous experiments have shown that the quadratic cost function is not the optimal choice for classification problems.
The AdaBoost approach instead suggests that the combination of all these classifiers should minimize a different, more suitable cost function, namely the exponential loss:
As discussed in Section 5.6, this function corresponds to the exponential loss. The objective of AdaBoost can therefore be interpreted as minimizing the empirical risk with respect to this loss function. In fact, the algorithm assigns a very high penalty to samples with a negative margin, progressively concentrating training on the examples that are most difficult to classify.
Since global minimization of the function (5.80) is usually impossible, two approaches can be followed:
Under these assumptions, the objective of the training process is reduced to finding an additional classifier that successively minimizes the quantity
AdaBoost is a technique that meets all these requirements.
Suppose, therefore, that
binary classifiers are available, each of which, by evaluating the feature
, with
, returns an opinion
.
Let the function
, defined as
The objective is to obtain a strong classifier
as a weighted linear sum of the classifiers
, whose sign determines the overall hypothesis:
| (5.83) |
To assign a vote to a classifier, each input sample must be assigned a weight
: the higher the weight, the more incorrectly the sample has been classified up to that point in the training process, whereas the lower the weight, the more correctly it has been classified.
At the first iteration, all weights are set equal to
, so as to obtain an exact statistical distribution.
Variants such as Asymmetric AdaBoost assign different weights to the different classes involved.
Let
be the function expressing the success (
) or failure (
) of classifier
when evaluating sample
.
Given the weights associated with each sample, it is possible to calculate, for each classifier,
, the sum of the weights associated with failures, and
, the sum of the weights associated with correct classifications, or, by defining
, in compact form
Let be the error measure of classifier
, calculated as
| (5.85) |
| (5.86) |
The iterations of the AdaBoost algorithm are as follows:
The normalization parameter is
| (5.89) |
The optimal choice of (and, consequently, of
) is the one for which the function (5.88) attains its minimum, namely
By choosing as the weight the one in equation (5.90) that minimizes , after each AdaBoost iteration the weights associated with correctly identified samples are decreased by a factor
, namely
, whereas the weights associated with samples incorrectly evaluated by hypothesis
are increased by a factor
, namely
.
This algorithm is known in the literature as AdaBoost.M1 or Discrete AdaBoost (FHT00).
The hypotheses
used by AdaBoost are features that can take only the values
.
The intuitive operation of AdaBoost is very simple: for each new classifier added to the sequence, AdaBoost focuses on the input patterns that have been classified most poorly so far.
AdaBoost has several interpretations: as a margin-maximizing classifier, as logistic regression applied to an additive model, as a discrete-step gradient descent minimizer, and also as regression using Newton's method.
Like SVMs, AdaBoost maximizes the separation margin between classes, although using different metrics. In this way, both methods are less sensitive to problems such as overfitting.
Paolo medici