Правильный способ вычисления производной сигмоидальной функции в Python

Я шел по этой статье. В коде автор упоминает, что следующая функция находит производную:

# convert output of sigmoid function to its derivative
def sigmoid_output_to_derivative(output):
    return output*(1-output)

Я не мог понять, как производная была найдена здесь. Будет ли лучше использовать SymPy для поиска производного? Как я могу сделать это в примере, показанном в статье, особенно это output будет список, подобный следующему:

[[ 0.44856632  0.51939863  0.45968497  0.59156505]
 [ 0.28639589  0.32350963  0.31236398  0.51538526]
 [ 0.40795614  0.62674606  0.23841622  0.49377636]
 [ 0.25371248  0.42628115  0.14321233  0.41732254]]

Итак, суть в следующем:

  • Как производная рассчитывалась в оригинальной статье? Я понимаю формулу в коде, но есть ли теоретическая основа?
  • Можем ли мы использовать другой способ найти производную? Может быть, более понятным способом?

Благодарю.

1 ответ

Решение

Сигмовидная функция полезна главным образом потому, что ее производная легко вычисляется с точки зрения ее вывода; производная f(x)*(1-f(x)),

Следовательно, поиск производной с использованием библиотеки на основе сигмоидальной функции не является необходимым, поскольку математическая производная (выше) уже известна. Для деривации, смотрите это.

Другие вопросы по тегам