A restricted Boltzmann machine (RBM) is a particular type of random neural network model which has two-layer architecture, symmetric connections and no self-feedback. The two layers in an RBM are fully connected but there are no connections within the same layer. Recently, with the advent of a fast learning algorithm for RBMs (i.e., contrastive divergence), the machine learning community set off a surge to study the theory and applications of RBMs since it has many advantages. For example, a RBM provides us an effective tool to detect features. When a feed-forward neural network is initialized with an RBM, its generalization capability can be significantly improved. A deep belief network composed of several RBMs can detect more abstract features. Due to the advantages and wide applications of RBMs in deep learning, this paper attempts to provide a introductory guide for novice. It presents a detailed introduction of basic RBM model, its representative learning algorithm, parametric settings, evaluation methods, its variants and etc. Finally, some research directions of RBMs that are deserved to be further studied are discussed.