Restricted Boltzmann Machine is used to detect patterns in data, in an unsupervised way.
If you haven’t read the previous posts yet, you can read them by clicking the below links.
- Introduction to Machine Learning with TensorFlow »
- Introduction to Deep Learning »
- Convolutional Neural Networks »
- Introduction to Recurrent Neural Networks (RNN) »
Restricted Boltzmann machines (RBMs)
RBMs are self-learning shallow neural networks that learn to reassemble data. They’re significant models because they can extract meaningful features from a given input without having to identify them.
RBMs are useful for unsupervised tasks such as
1) Feature extraction
2) Dimensionality reduction
3) Pattern Recognition
4) Recommender Systems
5) Topic Modeling
Let’s start with the fact that we have access to a matrix of viewer ratings for a specific number of Netflix movies, where each row represents a movie and each column represents a user’s rating.
Assume we have five users and their ratings for six films. The user’s rating of the film after seeing it on a 1 to 5 point scale.
Consider the case where we only have two layers in our neural network. There are two layers: an input layer and a hidden layer.
Let’s additionally suppose it’s capable of creating the input vectors.
For example, when you feed some units into the hidden layer, the hidden layer’s values are fed back into the network, and a vector that is nearly identical to the input vector is rebuilt as output.
If you provide the second user ratings that aren’t too dissimilar from the first, the hidden units will turn on, and the network output will be identical to the first reconstructed vector.
Let’s do it again, but this time feed a third user who has an entirely different perspective on these films.
When we feed the respective rating values into the network, this particular user was not a fan of the first movie, therefore a separate hidden unit is turned on and a different vector is produced.
Which could be the same as the preferences of some other users. This procedure is done for each user.
If a user rating is lacking/missing for a certain film, it indicates that the user has not seen the film, and based on comparable user rating patterns, the film can be recommended to this user. Such a model is known as Restricted Boltzmann Machine.
1) RBMs are good at handling unlabelled data.
2) RBMs extract important features from the input.
3) RBMs are more efficient at dimensionality reduction than PCA.
RBMs and their applications should now be familiar to you.