Implementing neural networks from scratch
Python implementations of feedforward neural networks, restricted Boltzmann machines, deep Boltzmann machines, and autoencoders from scratch. For (much) more scalable implementations of these models, see standard deep learning libraries such as Theano and TensorFlow.
This project was done as part of this course.
The only dependencies outside of the Python standard library are:
scipy.special.expit
sklearn.preprocessing.StandardScaler
Both of these functions can easily be replaced with NumPy functions.
code
directory contains the package NN
, which includes implementations of
code/nn/
),code/rbm.py
), code/dbm.py
), andcode/autoencoder.py
).Scripts and analyses of these neural networks can be found in the notebooks
directory.