Your network should have a single hidden layer and three outputs, with each corresponding to one of the three characters. In other words, the outputs for the three patterns should be:
Write code to implement the forward computation of such a network and
the error backpropagation and weight update of backpropagation
learning. I leave it up to you to test your code for smaller networks
and simpler problems. Verify the operation of the network for
``clean'' input. Next, investigate the network's ability to retrieve
``damaged'' patterns. Do this by producing ``noisy'' patterns, in
which
elements of a pattern are ``flipped'' (1 changed to 0; 0
to 1). Select the elements to flip randomly, and run multiple trials
for each value of
and each pattern. For each value of
, you
should get a single value which is the fraction of noisy patterns
which were correctly recalled. Plot that fraction versus
.