Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.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 HyperbolicTangent implements ActivationFunction
  10  {
  11      /**
  12       * @var float
  13       */
  14      private $beta;
  15  
  16      public function __construct(float $beta = 1.0)
  17      {
  18          $this->beta = $beta;
  19      }
  20  
  21      /**
  22       * @param float|int $value
  23       */
  24      public function compute($value): float
  25      {
  26          return tanh($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 1 - $computedvalue ** 2;
  36      }
  37  }