Implement from scratch an RBM and apply it to MINST dataset (hadwritten digit). It was implemented in Python and C++
Implement from scratch an RBM and apply it to DSET3. The RBM should be implemented fully by you (both CD-1 training and inference steps) but you are free to use library functions for the rest (e.g. image loading and management, etc.).
- Train an RBM with a number of hidden neurons selected by you (single layer) on the MNIST data (use the training set split provided by the website).
- Use the trained RBM to encode all the images using the corresponding activation of the hidden neurons
- Train a simple classifier (e.g. any simple classifier in scikit) to recognize the MNIST digits using as inputs their encoding obtained at step 2. Use the standard training/test split. Show a performance metric of your choice in the presentation/handou
DSET3 (Image processing: MNIST): http://yann.lecun.com/exdb/mnist/