Logistic-function neural network
C++ Makefile
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Build Status

Thinker is an artificial neural network with a logistic transfer function, which can be trained using backpropagation.

I originally built Thinker to be used in conjunction with the Ribosome Binding Site (RBS) Calculator. A free-to-use web version of the RBS Calculator can be found on the Salis lab's website. The goal of this project was to map the DNA sequences of ribosome binding sites to their binding free energies.

To make a long story short, a neural network turned out not to be the best fit for this problem. However, I liked the way this program turned out, so I'm making it available here. Hopefully someone will find it useful!


To install:

$ make

To run:

$ bin/thinker

To suppress logging, compile with the -DNDEBUG flag.

To uninstall:

$ make clean

The example training/testing problem included with Thinker has it learn a simple identity matrix. You can alter the size of this problem by editing the number of input layer (INPUT_NODES) and output layer (OUTPUT_NODES) neurons. The size of the hidden layer (HIDDEN_NODES) can be adjusted either for greater generalizability (lower number) or more exact fit (higher number).