At this very moment, you've made a decision:
to watch this video.
Thank you!
But when we're done, you'll have another decision to make,
do you want to watch another one?
Well, to assist you with that,
you'll be presented with a personalized list of videos that might interest you.
And that's a great use case for something called
a Restricted Boltzmann Machine.
Or RBM.
In fact, RBMs became increasingly popular after a Netflix competition
when it was used as a collaborative filtering strategy to
forecast user ratings for movies,
and it outperformed most of its rivals.
A Restricted Boltzmann Machine is a probabilistic graphical model
for unsupervised learning that is used to discover hidden structures in data.
And a video recommendation system is just a perfect application of that.
RBMs are made up of two parts.
So there's the visible layer.
That contains some nodes.
And then there is the hidden layer.
Now, every node in the visible layer
is connected to every node in the hidden layer.
So it's a one-to-many.
So each node here goes to every node in the hidden layer,
and so is the case for all of the other nodes in the visible layer.
The restricted part here, that comes about because no node is connected to any other node in the same layer.
So, you can see here the visible nodes are not connected to each other and nor are they hidden.
Now all of these nodes are connected by edges that have something called weights associated with them.
And the weights represent the probability of being active.
Now this is a very efficient structure for a neural network
because one input layer can be used for many hidden layers for training.
Now to train the network, we need to provide multiple inputs.
The nodes in the visible layer, they'll receive the training data.
This is multiplied by the weights and added to a bias value at the hidden layer.
This is the first phase of an RBM, and it's called the Feed Forward Pass.
Here we're basically identifying the positive associations,
meaning the link between the visible unit and the hidden unit is a match.
So, maybe this one is a match.
And we're looking for a negative association when the link between the two nodes is actually negative.
The second phase is the Feed Backwards Pass.
And this pass is really used to determine how weightings should be adjusted.
And that passes three things.
Basically, it adjusts the weights, it adjusts the biases,
and it logs probability for every edge between the layers.
Putting enough training data through these two phases teaches us the pattern that is responsible to activate the hidden nodes.
We're basically learning the probability distribution across the dataset.
Now, in our video recommendation example,
our visible layer could consist of videos that a person has watched.
And then our hidden layer,
well, that could consist of a classification for each video, such as "what is the video about?"
Machine learning, Python programming, cats.
Or the hidden layer could be something else like the style of video.
So like a demo video, a vlog, and a talking head video.
By observing the videos a person is watching,
our RBM can adjust the weighting and bias to determine things
such as how likely a person who is interested in machine learning videos is also interested in Python videos.
Now, beyond recommendation engines, which are an example of collaborative filtering,
there are many other use cases for RBM.
For example, feature extraction pattern recognition.
And that could be used to understand things like handwritten text
or we can identify structures in data sets like the hierarchy of what causes events to happen.
Using an RBM can be a very powerful way to learn
about your data without having to write code around iterating over every node and adjusting those weights manually.
And if you do have a bit more time,
perhaps the recommendation system can find you another video that suits your interests.
Hopefully, one from the IBM Technology channel.
If you have any questions, please drop us a line below,.
And if you want to see more videos like this in the future, please like and subscribe.
Thanks for watching.