Files
Reseaux-de-neurones-artific…/tests/Unit/Training/GradientDescentPerceptronTest.php

33 lines
1.0 KiB
PHP

<?php
namespace Tests\Unit\Training;
use App\Models\GradientDescentPerceptronTraining;
use App\Services\DatasetReader\LinearOrderDataSetReader;
use Tests\Services\IterationEventBuffer\DullIterationEventBuffer;
use App\Services\SynapticWeightsProvider\ZeroSynapticWeights;
class GradientDescentPerceptronTest extends TrainingTestCase
{
public function test_simple_perceptron_training_logic_and()
{
$training = new GradientDescentPerceptronTraining(
datasetReader: new LinearOrderDataSetReader(public_path('data_sets/logic_and_gradient.csv')),
learningRate: 0.2,
maxEpochs: 100,
synapticWeightsProvider: new ZeroSynapticWeights(),
iterationEventBuffer: new DullIterationEventBuffer(),
sessionId: 'test-session',
trainingId: 'test-training',
minError: 0.125001,
);
$this->verifyTrainingResults(
training: $training,
expectedWeights: [[[-1.497898, 0.998228, 0.998228]]],
expectedEpochs: 49
);
}
}