Neural Network implementation MATLAB (RBM, DBN, DNN)
In this project a Neural Network is implemented from the RBM structure:
- A restricted Boltzmann machine (RBM) is a generative stochastic artificial neural network that can learn a probability distribution over its set of inputs.
Then, a DBN is implemented:
- In machine learning, a deep belief network (DBN) is a generative graphical model, or alternatively a class of deep neural network, composed of multiple layers of latent variables ("hidden units"), with connections between the layers but not between units within each layer.
Finally, Deep Neural Network is implemented from the first two implementations. The MNIST dataset was used to test the DNN. The MATLAB code generate CSV from "scripts", that are used to plot some nice plots using R.
The code is organised in 3 parts:
- Part 1 : RBM learning -> generate images from RBM (alpha digit);
- Part 2 : DBN learning -> generate images from DBN (alpha digit);
- Part 3 : DNN learning (pre-trained) -> comparison of error rates between a pre-trained DNN and random initialized DNN.