AI-Perceptron
view release on metacpan or search on metacpan
lib/AI/Perceptron.pm view on Meta::CPAN
# DEPRECATED: backwards compat
if ($args{W}) {
$self->threshold( shift @{ $args{W} } )
->weights( [ @{ $args{W} } ] );
}
return $self;
}
sub verify_weights {
my $self = shift;
for my $i (0 .. $self->num_inputs-1) {
$self->weights->[$i] ||= 0.0;
}
return $self;
}
# DEPRECATED: backwards compat
lib/AI/Perceptron.pm view on Meta::CPAN
return ($sum > 0) ? 1 : -1;
}
##
# $p->train( [ @training_examples ] )
# \--> [ $target_output, @inputs ]
sub train {
my $self = shift;
$self->add_examples( @_ ) if @_;
$self->verify_weights;
# adjust the weights for each training example until the output
# function correctly classifies all the training examples.
my $iter = 0;
while(! $self->classifies_examples_correctly ) {
if (($self->max_iterations > 0) and
($iter >= $self->max_iterations)) {
$self->emit( "stopped training after $iter iterations" );
return;
( run in 0.777 second using v1.01-cache-2.11-cpan-5467b0d2c73 )