Restricted Boltzmann Machine

Manish Thapliyal
Dec 13, 2018 · 3 min read

Boltzmann Machines

Boltzmann Machine is also called full Boltzmann Machine. Here we have got all these interconnections every single node connects to every single other node.

In theory this is a great model. But in practice it’s very hard to implement at some point we run into roadblock because we simply cannot compute a full Boltzmann Machine and the reason for that is as you increase the number of nodes the number connections between them grows exponentially.

So, therefore a different type of architecture was proposed which is called the Restricted Boltzmann Machine.

Restricted Boltzmann Machine

Restricted Boltzmann has exactly the same concept with simple restriction that hidden nodes cannot connect to each other and visible nodes cannot connect to each other.

Connections are undirected, meaning they happen in both direction both ways from hidden nodes to visible nodes and visible nodes to hidden nodes.

Restricted Boltzmann Machine is a generative type of model so, it always generates these states of our system and then training through feeding it training data and through process called contrastive divergence. We help Boltzmann machine to become a representation of our specific system.

How Restricted Boltzmann works?

We will use a example of Movies. We can use Boltzmann Machine to build a recommender system

let’s take example of Recommender System working on six movies..

Through a training process Restricted Boltzmann Machine might identify genres, Actors of movies as important features.

During Training process we are feeding lots and lots of rows to the Boltzmann Machine. for eg. input to Boltzmann Machine could be something like this.

In above data set users are rows and movies are columns. Users have given feedback of movies.

1: User has liked he movie, 0: User disliked the movie, Empty: User hasn’t seen the movie

When this data is being feeded to Restricted Boltzmann Machine, It’s able to understand our system better and find the relation between the data.

Restricted Boltzmann Machine can identify the relation between the data as If user likes movie 3 and 4 they are mostly likely to like movie 6, and if they don’t like the movie 3 and 4 they are are most likely to dislike movie 6. This is a simplified example how Restricted Boltzmann Machine can identify the relation between the data. Restricted Boltzmann identifies the relationship between the movies like Genre, Actor and can recommend movies which involves same genres, actors or director.

Manish Thapliyal

Written by

Data scientist, Machine Learning Engineer, Natural Language Processing and Chatbots/Voicebots