use AI::NeuralNet::Simple;
my $net = AI::NeuralNet::Simple->new(2,1,2);
# teach it logical 'or'
for (1 .. 10000) {
$net->train([1,1],[0,1]);
$net->train([1,0],[0,1]);
$net->train([0,1],[0,1]);
$net->train([0,0],[1,0]);
}
printf "Answer: %d\n";, $net->winner([1,1]);
printf "Answer: %d\n", $net->winner([1,0]);
printf "Answer: %d\n", $net->winner([0,1]);
printf "Answer: %d\n\n", $net->winner([0,0]);
####
$net->train([1,1], [0,1]);
$net->train([1,0], [0,1]);
$net->train([0,1], [0,1]);
$net->train([0,0], [1,0]);
####
for (1 .. 10000) {
$net->train([1,1], [0,1]);
$net->train([1,0], [0,1]);
$net->train([0,1], [0,1]);
$net->train([0,0], [1,0]);
}
####
$net->train_set([
[1,1], [0,1],
[1,0], [0,1],
[0,1], [0,1],
[0,0], [1,0],
], 10000);
####
$net->iterations(100000); # let's have lots more iterations!
$net->iterations; # returns 100000
my @training_data = (
[1,1], [0,1],
[1,0], [0,1],
[0,1], [0,1],
[0,0], [1,0],
);
$net->train_set(\@training_data);
####
use Data::Dumper;
print Dumper $net->infer([1,1]);
$VAR1 = [
'0.00993729281477686',
'0.990100297418451'
];
####
print $net->winner([1,1]); # will likely print "1"