首先,我使用Python绘制了Sigmoid函数及其所有点从定义上得到的导数。那么,这个导数的具体作用是什么呢?
但我发现了这个:
来源: http://www.ai.mit.edu/courses/6.892/lecture8-html/sld015.htm
当我绘制这个导数的结果时,我得到了
完全不同的图形。为什么会这样?这些导数有什么不同?
第二个图形的绘制代码
回答:
Sigmoid函数的导数公式为s(x) * (1 - s(x))
,其中s
是Sigmoid函数。
Sigmoid函数的优势在于它的导数非常容易计算 – 它是基于原始函数的表达方式。
def __sigmoid_derivative(x): return sigmoid(x) * (1 - sigmoid(x))
因此,你会得到
你引用的另一种方法,即
def __sigmoid_derivative(x): return x * (1 - x)
假设x
已经是Sigmoid函数的输出,因此不需要再次计算。