Restricted Boltzmann Machines (RBMs)

Restricted Boltzmann Machines (RBMs)

Restricted Boltzmann Machines (RBMs) are a type of artificial neural network that are used for feature learning, dimensionality reduction, and pre-training for other machine learning algorithms. They are a variant of Boltzmann machines, with the restriction that their neurons must form a bipartite graph. This means that there are no connections between nodes within the same layer, only between nodes of different layers.


An RBM is a generative stochastic artificial neural network that can learn a probability distribution over its set of inputs. It consists of two layers: a visible layer and a hidden layer. The visible layer corresponds to the components of an observed data vector, while the hidden layer is used to learn features and capture patterns in the data. The nodes in these layers are connected, but nodes within a layer are not. This restriction allows for more efficient training algorithms than are available for the general class of Boltzmann machines, in particular the Gradient Descent and Contrastive Divergence algorithms.


RBMs have found applications in a variety of areas, including:

  • Dimensionality Reduction: RBMs can be used to reduce the dimensionality of data by learning a compact representation in the hidden layer. This can be useful for visualizing high-dimensional data or for pre-processing data before applying other machine learning techniques.

  • Feature Learning: RBMs can learn to extract meaningful features from a dataset. These features can then be used as input to other machine learning algorithms, improving their performance.

  • Collaborative Filtering: RBMs have been used to build recommendation systems. They can learn to predict user preferences for items based on past behavior.

  • Deep Learning: RBMs can be stacked to create deep belief networks, a type of deep learning model. The lower-level RBMs are trained to reconstruct their input data, while the higher-level RBMs are trained to reconstruct the hidden layer activations of the lower-level RBMs.

Advantages and Disadvantages


  • RBMs can model complex, high-dimensional data.
  • They can learn features automatically from data, reducing the need for manual feature engineering.
  • They can handle missing data and can be used to fill in missing values.


  • Training RBMs can be computationally expensive, especially for large datasets.
  • The learning process can sometimes get stuck in local minima, leading to sub-optimal solutions.
  • It can be difficult to interpret the features learned by an RBM.

Further Reading

Related Terms: Deep Learning, Neural Networks, Generative Models, Boltzmann Machines, Deep Belief Networks, Feature Learning, Dimensionality Reduction, Collaborative Filtering