Introducing and building an RBM
RBMs are random and undirected graph models generally built with a visible and a hidden layer. They were used in a Netflix competition to predict future user behavior. The goal here is not to predict what a viewer will do but establish who the viewer is and store the data in a viewer's profile-structured mind dataset. The input data represents the features to be trained to learn about viewer X. Each column represents a feature of X's potential personality and tastes. Each line represents the features of a movie that X has watched. The following code (and this section) is in RBM_01.py
:
np.array([[1,1,0,0,1,1],
[1,1,0,1,1,0],
[1,1,1,0,0,1],
[1,1,0,1,1,0],
[1,1,0,0,1,0],
[1,1,1,0,1,0]])
The goal of this RBM is to define a profile of X by computing the features of the movies watched. The input data could also be images, words, and other forms of data, as in any neural network...