一篇名为“使用神经网络的文本分类”的博客文章指出,使用 sigmoid 函数输出的导数来衡量错误率。
这样做的理由是什么?
我认为 sigmoid 函数输出的导数只是 sigmoid 线在特定点的斜率。
这意味着当 sigmoid 输出为 0.5 时它是最陡峭的(当 sigmoid 函数输入为 0 时发生)。
为什么 0 的 sigmoid 函数输入意味着错误(如果我理解正确的话)?
资料来源: https ://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6
我们使用 sigmoid 函数来标准化值及其导数来测量错误率。迭代和调整,直到我们的错误率低到可以接受。
def sigmoid(x):
output = 1/(1+np.exp(-x))
return output
def sigmoid_output_to_derivative(output):
return output*(1-output)
def train(...)
...
layer_2_error = y - layer_2
layer_2_delta = layer_2_error * sigmoid_output_to_derivative(layer_2)
...
更新
道歉。我不认为我很清楚(我已经更新了标题)
我知道我们不需要使用 sigmoid 作为激活函数(我们可以使用 relu、tanh 或 softmax)。
我的问题是关于使用derivative to measure the error rate
(上面黄色文章的完整引用)->激活函数的导数与测量/修复“错误率”有什么关系?