-
RBM:
-
First you should download the MNIST data from here
-
Then you can run pca.py, this code uses PCA to reduce the dimensionality of MNIST data from 784 to 2 and display it in graphic displays
- When I use PCA to reduce the dimensionality, I get this graphic:
-
Run reducing_with_rbm.py, this code uses 784-1000-500-250-2 RBMs to train a model that can reduce the dimensionality of MNIST data from 784 to 2. Then fed the 784-dimension data to the 4-layers RBM model, and get the 2-dimension result. It will consume lots of time, so I don't get the result.(I reduce the maxepoch, but don't get the expected result as paper, even though it is better than PCA's result)
-
[1] : Reducing the Dimensionality of Data with Neural Networks
[2] : Learning Multiple Layers of Features from Tiny Images
[3] : A Practical Guide to Training Restricted Boltzmann Machines
[4] : Training a deep autoencoder or a classifier on MNIST digits