Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace Phpml\NeuralNetwork\ActivationFunction;
   6  
   7  use Phpml\NeuralNetwork\ActivationFunction;
   8  
   9  class PReLU implements ActivationFunction
  10  {
  11      /**
  12       * @var float
  13       */
  14      private $beta;
  15  
  16      public function __construct(float $beta = 0.01)
  17      {
  18          $this->beta = $beta;
  19      }
  20  
  21      /**
  22       * @param float|int $value
  23       */
  24      public function compute($value): float
  25      {
  26          return $value >= 0 ? $value : $this->beta * $value;
  27      }
  28  
  29      /**
  30       * @param float|int $value
  31       * @param float|int $computedvalue
  32       */
  33      public function differentiate($value, $computedvalue): float
  34      {
  35          return $computedvalue >= 0 ? 1.0 : $this->beta;
  36      }
  37  }