Neural Net (in Ruby)
This implementation trains significantly faster than ai4r's backpropagation neural network, mainly because the Rprop training algorithm implemented here is much faster than the non-batch backpropagation algorithm used in ai4r.
However, this implementation is significantly slower than ruby-fann, which wraps the FANN library, written in C. If you're looking for something production-ready, check out ruby-fann.
iris.rb: solves a simple classification problem: predict the species of iris flower based on sepal and petal size.
mpg.rb: solves a simple regression problem: predict the miles per gallon of a car based on car attributes.
mnist.rb: performs OCR on handwritten digits. Requires download of MNIST dataset; see instructions at top of file.
Sources and inspirations
- Introduction to the Math of Neural Networks
- Neural Networks and Deep Learning
- Thoughtful Machine Learning: A Test-Driven Approach
- Hacker's guide to Neural Networks
- The RPROP Algorithm
- Resources for Machine Learning in Ruby