2

我正在浏览这篇文章。在代码中,作者提到了以下函数求导数:

# 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]]

所以,底线是:

  • 原始文章中的导数是如何计算的?我理解代码中的公式,但是,有一些理论依据吗?
  • 我们可以用另一种方法来求导数吗?也许更清晰的方法?

谢谢。

4

1 回答 1

3

sigmoid 函数之所以有用,主要是因为它的导数很容易根据其输出计算;导数是f(x)*(1-f(x))

因此,不需要使用基于 sigmoid 函数的库来查找导数,因为数学导数(上图)是已知的。有关推导,请参阅this

于 2017-12-25T04:49:46.633 回答