Due Friday March 6th at
midnight.
Resources:
Some of you asked for a more detailed explanation of Neural Networks and
Back-propagation.
This
Tutorial from Robert Gordon University in the UK works through things
a little more slowly.
Program:
Build a simple three layer Neural Neural network that learns through
back-propagation.
consider the following inputs and target outputs:
inputs:
|
1964 |
1968 |
1972 |
1976 |
1980 |
1984 |
1988 |
1992 |
1996 |
2000 |
2004 |
2008 |
2012 |
MO |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
NM |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
MN |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
OH |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
FL |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
VA |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
PA |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
NH |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
output:
|
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
Make your network have no more than 4 hidden layers. First train the
network on the first 4 sets of input and output (1964-1976). When you
are satisfied that your network has learned this limited training data,
test it on the next four examples. How did it do? Explain that in your
paper. Now have it learn from scratch using all but the 2012 data.
(throw away your earlier weights). Once the network is fully trained,
test it on the 2012 example above. How did your network do?
Mention its performance and discuss in your paper.
Paper:
Write a paper discussing the merits of neural networks using
Backpropagation as a learning technique. Include an analysis of
how intelligent the technique appears to be and how flexible. Consider
particularly, does it appear intelligent to the naive user and is there
any real intelligence in the program. More completely, you should
mention how your program works, what you have done to make it seem
intelligent and how you might change it to seem more intelligent to a
larger user base and to make it actually more intelligent. This should
probably take a page or two of discussion of your solution. You are
encouraged to cover more if you find something interesting about your
program or you have some other insight into the technique
The format of the paper:
- Introduction: What is
this technique and what class of problems does it solve
- Discussion of the technique.
Where is the intelligence? How much intelligence is there. What
sorts of applications would you use this technique for
- Discussion of your
implementation: What interesting things did you see in your
own implementation of neural nets
- Summary: what classes of
problems should this technique solve and in your experience, what
would they solve?