CSCI 374: Homework Assignment #3

Neural Networks
Due: 11:59 PM on Wednesday, October 26 Monday, October 31

You can download the assignment instructions by clicking on this link

Instructions for using GitHub for our assignments can be found on the Resources page of the class website, as well as using this link.

Helpful Hints

While debugging your program during implementation, you might want to use the banknotes.csv data set from Homework 2 since it only has four continuous attributes. We achieved close to 100% accuracy with only logistic regression, so we should achieve the same (or better) performance with only 2 hidden neurons. This small network will be easier to debug than starting out with something like the mnist_5v8.csv data set that has many more attributes, or the monks1.csv data set that has nominal attributes.

Example Accuracies

Here are the test set accuracies that my implementation achieved on the three data sets with a learning rate of 0.1, 10 hidden neurons, a training set size of 60%, and the random seed 12345. Your answers might be slightly different because of different ways of implementing the solution and different random seeds.

Data Set Threshold Accuracy
monks1.csv 0.5 1.0
mnist_5v8.csv 0.5 0.9500
seismic.csv 0.5 0.9323
seismic.csv 0.05 0.6596

Multiple Hidden Layer Accuracies

Here are the test set accuracies that my implementation achieved on the monks1 and mnist_5v8 data sets with 10 hidden neurons per layer, a training set size of 60%, the random seed 12345, and a threshold of 0.5. Your answers might be slightly different because of different ways of implementing the solution and different random seeds.

Data Set # of Layers Learning Rate Training Epochs Accuracy
monks1.csv 2 0.1 500 1.0
monks1.csv 2 0.01 500 0.4483
monks1.csv 2 0.01 1500 0.8391
monks1.csv 3 0.1 2000 0.4483
monks1.csv 3 0.5 500 1.0
monks1.csv 3 0.1 500 1.0
mnist_5v8.csv 2 0.1 500 0.95
mnist_5v8.csv 2 0.5 500 0.95
mnist_5v8.csv 3 0.1 500 0.925
mnist_5v8.csv 3 0.5 500 0.95