scikit-learn/scikit-learn — pull request #2680 by IssamLaradji (2013-12-19 23:52:59+00:00)
Title: [WIP] Gaussian Bernoulli RBM

This extends current RBM (BB-RBM) to allow real-valued visible units. I implemented the algorithm in a separate file than BB-RBM, but I propose that a main file to contain BaseRBM, with GaussianBernoulliRBM (GB-RBM), BernoulliRBM, etc.. As RBM has many extensions in the literature, such main file would make extension easy. I would do that if the reviewers agree :).

Over BB-RBM, GB-RBM uses sigma to control the width of the parabola that adds a quadratic offset to the Energy function [1],

![capture](https://f.cloud.github.com/assets/3382128/1787507/1a8a8958-6908-11e3-9c02-cb2111bbd7ef.PNG)

Much of the implementation are explained in (http://www.ini.rub.de/data/documents/tns/masterthesis_janmelchior.pdf), a masters thesis devoted partly to Gaussian RBMs.

Tests and examples are soon to come.

[1] Krizhevsky, Alex, and Geoffrey Hinton. "Learning multiple layers of features from tiny images."
Master's thesis, Department of Computer Science, University of Toronto (2009).