node = $node; $this->weight = $weight ?? $this->generateRandomWeight(); } public function getOutput(): float { return $this->weight * $this->node->getOutput(); } public function changeWeight(float $delta): void { $this->weight += $delta; } public function getWeight(): float { return $this->weight; } public function getNode(): Node { return $this->node; } protected function generateRandomWeight(): float { return (1 / random_int(5, 25) * random_int(0, 1)) > 0 ? -1 : 1; } }