COSC-570: Artificial Intelligence

Project 4
Fall 2022

Due: W 11/23 @ 11:59 P.M.
9 points

Implement Flach's primal version of the perceptron as Perceptron.java and Zurada's multi-layer feed-forward neural network trained with the backpropagation algorithm as BP.java.

Implement k-fold cross-validation.

In the Files section on Canvas, you can find the file p4.zip that contain six data sets. You can use these for experimentation. As you can see, they are already encoded and augmented with a bias input.

Conduct experiments using perceptron and the multi-layer network on the data sets (excluding xor.dta). Use as many folds as is reasonable for your machine, keeping in mind that backpropagation may take much time to converge or may not converge at all. (If your experimental runs are taking too long to complete on your machine, you can implement and use hold-out evaluation for BP instead of k-fold cross-validation. You still need to use cross-validation for Perceptron.)

Over the runs for both algorithms on all of the data sets (except xor.dta), calculate and report average accuracy, the average true-positive rate, the average false-positive rate, and the standard deviation for each average. Your implementation should compute the accuracy, true-positive rate, and false-positive rate, but if you prefer, you can use a spreadsheet to calculate averages and standard deviation. Also report the learning rates you used and for the multi-layer network, the number of hidden nodes and the minimum acceptable error (Emin). You can place this information in a text file, document, or a spreadsheet in the xlsx format.

Instructions for Submission

There is no autograder for this project. You will upload the file submit.zip to Canvas.

In a file named HONOR, please include the statement:

In accordance with the class policies and Georgetown's Honor System,
I certify that, with the exceptions of the class resources and those
items noted below, I have neither given nor received any assistance
on this project.

Name
NetID
Include this file in your zip file submit.zip. Also include in submit.zip, your Java source files and the report on your experimental results.

Copyright © 2022 Mark Maloof. All Rights Reserved. This material may not be published, broadcast, rewritten, or redistributed.