我正在通过this article。在代码中,作者提到以下函数可以找到派生函数:

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


因此,最重要的是:


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


谢谢。

最佳答案

S形函数之所以有用,主要是因为其导数就其输出而言很容易计算。导数为f(x)*(1-f(x))

因此,不需要使用基于S形函数的库来找到导数,因为已经知道数学导数(上述)。有关派生,请参见this

关于python - 在Python中计算Sigmoid函数导数的正确方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47965739/

10-12 22:10