Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Bolt Online Learning Toolbox
C Python
Branch: master


latest commit 51a2cb2513
@pprett authored
Failed to load latest commit information.
bolt cosmit
doc changed as a to by a.
.gitignore gitignore added. sandbox added.
COPYING changed from MIT to New BSD license.
README.rst documentation refactored.
sb license headers added.
sb_cv PEP8 refactoring
svml2npy license headers added.


Bolt Online Learning Toolbox

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 features:

  • Fast learning based on stochastic gradient descent (plain and via projected (sub-)gradients).
  • Different loss functions for classification (hinge, log, modified huber) and regression (OLS, huber).
  • Different penalties (L2, L1, and elastic-net).
  • Simple, yet powerful commandline interface similar to SVM^light.
  • Python bindings, feature vectors encoded as Numpy arrays.

Furthermore, Bolt provides support for generalized linear models for multi-class classification. Currently, it supports the following multi-class learning algorithms:

  • One-versus-All strategy for binary classifiers.
  • Multinomial Logistic Regression (aka MaxEnt) via SGD.
  • Averaged Perceptron [Freund, Y. and Schapire, R. E., 1998].

The toolkit is written in Python [1], the critical sections are C-extensions written in Cython [2]. It makes heavy use of Numpy [3], a numeric computing library for Python.


To install Bolt you need:

  • Python 2.5 or 2.6
  • C-compiler (tested with gcc 4.3.3)
  • Numpy (>= 1.1)

If you want to modify *.pyx files you also need cython (>=0.11.2).


To clone the repository run,

git clone git://

To build bolt simply run,

python build

To install bolt on your system, use

python install


For detailed documentation see





[Freund, Y. and Schapire, R. E., 1998] Large margin classification using the perceptron algorithm. In Machine Learning, 37, 277-296.

[Shwartz, S. S., Singer, Y., and Srebro, N., 2007] Pegasos: Primal estimated sub-gradient solver for svm. In Proceedings of ICML '07.

[Tsuruoka, Y., Tsujii, J., and Ananiadou, S., 2009] Stochastic gradient descent training for l1-regularized log-linear models with cumulative penalty. In Proceedings of the AFNLP/ACL '09.

[Zhang, T., 2004] Solving large scale linear prediction problems using stochastic gradient descent algorithms. In Proceedings of ICML '04.

[Zou, H., and Hastie, T., 2005] Regularization and variable selection via the elastic net. Journal of the Royal Statistical Society Series B, 67 (2), 301-320.

Something went wrong with that request. Please try again.