|Date:||October 13, 2010|
Bolt features discriminative learning of linear predictors (e.g. SVM or Logistic Regression) using fast online learning algorithms. Bolt is aimed at large-scale, high-dimensional and sparse machine-learning problems. In particular, problems encountered in information retrieval and natural language processing.
Bolt considers linear models (bolt.model.LinearModel) for binary classification,
and generalized linear models (bolt.model.GeneralizedLinearModel) for multi-class classification,
Where and are the model parameters that are learned from training data. In Bolt the model parameters are learned by minimizing the regularized training error given by,
where is a loss function that measures model fit and is a regularization term that measures model complexity.
Bolt supports the following trainers for binary classification:
For multi-class classification:
The following RCV1-CCAT benchmark results show that Bolt is competitive to state-of-the-art linear SVM solvers such as SVMPerf, liblinear, or sgd. The dataset comprises 781.264 training documents, each represented by a 47.152 dimensional feature vector.
|SVMPerf ||11.60 sec||94.79|
|liblinear ||9.00 sec||94.77|
|bolt ||2.33 sec||94.79|
|sgd ||1.09 sec||94.77|
|||Uses SVM (Dual), B=1|
|||Uses E=5, r=0.00001, l=0, b|
|||Uses epochs=5, lambda=0.00001|