Thanks. I inserted a feedback indicating when something was demonstrably wrong. After running the feedback pattern once it produced the correct data.
I was under the impression that the learn function should perform "off-line" learning. With the feedback aren't I performing "on-line" learning?
I tried adding the problem pattern as the last pattern in its training pattern... but it still fails to identify 1 as an odd number the first time it encounters it. After this it identifies all the evens and odds correctly. Is it possible to set this up to learn what it needs in the initial training set?
my $answer = $$result[0];
if ( ($answer == 1) && ( $i % 2 != 0) ) {
print "Got it wrong!\n";
#Learn the pattern
$net->learn(\@bit,[0]);
$i=-1; # Start over
}
print "$answer\n";
Results
Testing 0 0 0 0 0 0 -> 1
Testing 1 0 0 0 0 1 -> Got it wrong!
1
Testing 0 0 0 0 0 0 -> 1
Testing 1 0 0 0 0 1 -> 0
Testing 2 0 0 0 1 0 -> 1
Testing 3 0 0 0 1 1 -> 0
Testing 4 0 0 1 0 0 -> 1
Testing 5 0 0 1 0 1 -> 0
Testing 6 0 0 1 1 0 -> 1
Testing 7 0 0 1 1 1 -> 0
Testing 8 0 1 0 0 0 -> 1
Testing 9 0 1 0 0 1 -> 0
Testing 10 0 1 0 1 0 -> 1
Testing 11 0 1 0 1 1 -> 0
Testing 12 0 1 1 0 0 -> 1
Testing 13 0 1 1 0 1 -> 0
Testing 14 0 1 1 1 0 -> 1
Testing 15 0 1 1 1 1 -> 0
Testing 16 1 0 0 0 0 -> 1