Barely Efficient and ScalAble Machine Learning toolbox
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

BESAML: Barely Efficient and ScalAble Machine Learning toolbox

A personal Machine Learning MATLAB toolbox. Algorithms are implemented in a simple and readable way.
Part of this code is inspired by the code of Coursera's Machine Learning course by Andrew Ng. If you arrived here looking for a Deep Learning toolbox you probably were looking for Lasagne, only related to this in a gastronomical way.

The main use of this toolbox is education and research and, according to its name, I do not recomend it for data-intensive production environments. In such a case, you can contact me at for profesional advice.


Run besaml_setup.m file before using the toolbox.

Current Version:

  1. Modelling of data using a Gaussian Mixture Model (GMM) fitted using Expectation-Maximization (EM).
  2. Multiclass Softmax Regression Classifier.

Dataset included:

I have included some small datasets to test the implemented algorithms.

  1. Old Faithful Geiser Dataset [1,2].
  2. Subset of MNIST dataset [3] selected in Coursera's Machine Learning course.

Function fmincg. Copyright (C) 2001 and 2002 by Carl Edward Rasmussen. Date 2002-02-13.


Besaml is a work in progress, any comment would be welcomed.


 [1] Hardle, W. (1991) Smoothing Techniques with Implementation in S.
 New York: Springer.
 [2] Azzalini, A. and Bowman, A. W. (1990). A look at some data on
 the Old Faithful geyser. Applied Statistics 39, 357-365.
 [3] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. "Gradient-based
 learning applied to document recognition." Proceedings of the IEEE, 86(11):2278-2324, November 1998.