Code Monkey home page Code Monkey logo

neuralnetworks's Introduction

Neural Networks Project - Seth Knights

A from-scratch implementation of a single hidden-layer neural network in Java.

Writeup:

As written, my code has been successfully tested on four main data sets:

On top of normal learning, there are functions to help manage multi-threaded multi-variable testing to help in determining ideal numbers of hidden nodes and learning rates. This outputs the data to a file, which can then be parsed again and re-written into a form readable by Excel as a 3D graph. (This in-between step exists to help save data from being lost if the multi-threaded process fails, or if you want to end it early.)

An example of the output from this multithreaded application can be seen below. This is the AK Handwritten Digits set, varying over 5-205 hidden neurons and a learning rate between 0.01 and 1. All learning was cut off after a 100 epochs, and each test was ran 10 times and then averaged.

Neural Network Graph

Overall, my neural network was successful to these standards:

Dataset # Hidden Learning Rate Testing Accuracy Epochs
AND 2 1.0 100% ~80
XOR 2 0.05 100%* ~28000
AK Digits 138 0.02 97-98% ~100
MNIST Digits 138 0.05 94-95% <200**

I would have added Training Accuracy but did not have time to re-record these values (and it was 100% for both AND and XOR which are shorter, and around 99% for AK Digits).

-* There is some instability here that has not been ironed out (as was discussed in class).

-** I lost the data from when I ran these tests, and I think I may have had a lower learning rate. I know from my code that it was within 200 epochs however.

Overall, most of the stuff here needs some more testing to iron out actual best results, but these are what I was able to get in the midst of working on the project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.