32 lines
1002 B
PHP
32 lines
1002 B
PHP
<?php
|
|
|
|
namespace Tests\Unit\Training;
|
|
|
|
use App\Models\SimpleBinaryPerceptronTraining;
|
|
use App\Services\DatasetReader\LinearOrderDataSetReader;
|
|
use Tests\Services\IterationEventBuffer\DullIterationEventBuffer;
|
|
use App\Services\SynapticWeightsProvider\ZeroSynapticWeights;
|
|
|
|
class SimplePerceptronTest extends TrainingTestCase
|
|
{
|
|
|
|
public function test_simple_perceptron_training_logic_and()
|
|
{
|
|
$training = new SimpleBinaryPerceptronTraining(
|
|
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/logic_and.csv')),
|
|
learningRate: 1.0,
|
|
maxEpochs: 100,
|
|
synapticWeightsProvider: new ZeroSynapticWeights(),
|
|
iterationEventBuffer: new DullIterationEventBuffer(),
|
|
sessionId: 'test-session',
|
|
trainingId: 'test-training',
|
|
);
|
|
|
|
$this->verifyTrainingResults(
|
|
training: $training,
|
|
expectedWeights: [[[-3.0, 2.0, 1.0]]],
|
|
expectedEpochs: 6
|
|
);
|
|
}
|
|
}
|