AdaBoost Classifier
AdaBoost (short for “Adaptive Boosting”) is a popular boosting classification algorithm.
AdaBoost algorithm performs well on a variety of data sets except some noisy data [Freund99].
AdaBoost is a binary classifier.
For a multi-class case, use Multi-class Classifier framework of the library.
Details
Given
of size
, where
describes the class to which the feature vector
belongs, and a weak learner algorithm,
the problem is to build an AdaBoost classifier.
n
feature vectors
p
and a vector of class labels
Training Stage
The following scheme shows the major steps of the algorithm:
- Initialize weights
for
i = 1, …, n. - For
:
- Train the weak learner
using weights
- Choose a confidence value
.
- Update
, where
is a normalization factor.
- Output the final hypothesis:
Prediction Stage
Given the AdaBoost classifier and
, the problem is to calculate the final class:
r
feature vectors
Batch Processing
AdaBoost classifier follows the general workflow described in Classification Usage Model.
Training
For a description of the input and output, refer to Classification Usage Model.
At the training stage, an AdaBoost classifier has the following parameters:
Parameter | Default Value | Description |
---|---|---|
algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |
method | defaultDense | The computation method used by the AdaBoost classifier. The only training method supported so far is the Y. Freund’s method. |
weakLearnerTraining | Pointer to an object of the stump training class | Pointer to the training algorithm of the weak learner. By default, a stump weak learner is used. |
weakLearnerPrediction | Pointer to an object of the stump prediction class | Pointer to the prediction algorithm of the weak learner. By default, a stump weak learner is used. |
accuracyThreshold | 0.01 | AdaBoost training accuracy. |
maxIterations | 100 | The maximal number of iterations for the algorithm. |
Prediction
For a description of the input and output, refer to Classification Usage Model.
At the prediction stage, an AdaBoost classifier has the following parameters:
Parameter | Default Value | Description |
---|---|---|
algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |
method | defaultDense | Performance-oriented computation method, the only method supported by the AdaBoost classifier at the prediction stage. |
weakLearnerPrediction | Pointer to an object of the stump prediction class | Pointer to the prediction algorithm of the weak learner. By default, a stump weak learner is used. |
Examples
C++ (CPU)
Batch Processing:
Java*
Python*