シグモイド関数の導関数

シグモイド関数の導関数をPerlで書いてみます。導関数とは、関数を微分したものを意味します。シグモイド関数の導関数は、逆誤伝播法に利用します。

# シグモイド関数の導関数
sub sigmoid_derivative {
  my ($x) = @_;
  
  my $sigmoid_derivative = sigmoid($x) * (1 - sigmoid($x));
  
  return $sigmoid_derivative;
}

# シグモイド関数
sub sigmoid {
  my ($x) = @_;
  
  my $sigmoid = 1.0 / (1.0 + exp(-$x));
  
  return $sigmoid;
}

my $x = 0.5;
my $sigmoid_derivative = sigmoid_derivative($x);

# 0.2350037122015944890693
print "$sigmoid_derivative\n";

関連情報