Python代写 | ECE 456/556 – Pattern Recognition

ECE 456/556 – Pattern Recognition
Project #3
Due 2 April 2020
In this assignment you will implement an Artificial Neural Network (ANN) Classifier.
Implement an ANN classifier with one hidden layer and ten output nodes of e1 to e10 (e1 = [1 0 0 0 …]T , e2 = [0 1 0
0 …]T ). Use the data from train.dat as the training set and the data from eval1.dat and eval2.dat as evaluation sets.
Remember to normalize all the data by the RMS values to provide approximately equal weight to all features. For
each evaluation set report the classification results (i.e., % correctly classified and % error). Also print out a
confusion matrix (as in Projects #1 & #2) for each case.
Run the following experiments:
a) Compare training by epoch with training by pattern.
b) Compare two different numbers of hidden nodes.
c) One (or two=grad) of the following:
length of training/stopping criterion
effect of eta
effect of lambda
1 vs 2 hidden layers
bias vs no bias (effect of input vs hidden)
pruning vs no pruning
momentum vs no momentum
two vs three layers.
d) (Graduate students) Investigate
a third quantity of training nodes in part (b) and
another exploration of your choice from (c).
Test all combinations with both test sets (test1.dat and test2.dat).
To turn in:
A brief report describing your results. The report should start with a brief description (but detailed enough to
convince me you understand the algorithm fully) of the algorithm in your own words. If you have any
implementation comments/observations include them here. Specify how the weights were initialized, what
stopping conditions you used. Then describe the training set and the test sets verbally (N datapoints, consisting
of d moment features, c classes consisting of the characters ‘a’, ‘c’, ‘e’, …). Then include the confusion
matrices and a summary table with the error percentages with TEXT surrounding them indicating what
combination of classifier/training you were using. Indicate how many iterations were needed in training to get
to the stopping condition, the error remaining at end of training. Graduate students should plot the error as a
function of training time, this is optional for undergraduates. End with a few comments comparing the results
between the datasets, and between the classifiers varying output form, training method and hidden nodes/layers,
etc. Submit your code via BlackBoard in a Tar/zip single file. Submit the report in a separate file from the code.
Student Name: ______________________
ECE 456/556 Pattern Recognition
Spring 2020
Project #3 – Neural Networks
Due 2 April 2020
Grading Rubric
_________ (a) ANN, Comparison of pattern and epoch
_________ (b) ANN, Comparison of number of hidden nodes
_________ (c) ANN, Comparison of ______________________ configuration
_________ (d1) (ECE 556 only) ANN, ____________________ configuration
_________ (d2) (ECE 556 only) ANN, ____________________ configuration
_________ Discussion of datasets
_________ Discussion of method(s)
_________ Discussion of results – general
_________ Discussion of results – comparison of epoch/pattern
_________ Discussion of results – comparison of hidden nodes
_________ Discussion of results – comparison for part (c)
_________ Discussion of results – comparison for part (d1) (ECE 556 only)
_________ Discussion of results – comparison for part (d2) (ECE 556 only)
_________ Suitable depth of investigation
_________ Suitable insight exhibited in comments.
_________ Well formatted report (intro/body/conclusion, figures w/ labels)
_________ Good presentation (sentence structure, flow of thoughts,
referencing of figures)
_________ Good grammar
_________ Grade