【发布时间】:2017-10-08 12:32:59
【问题描述】:
我正在根据教程制作 ANN。教程中sigmoid和dsigmoid如下:
sigmoid(x) = tanh(x)
dsigmoid(x) = 1-x*x
但是,根据定义,dsignmoid 是 sigmoid 函数的导数,因此它应该是 (http://www.derivative-calculator.net/#expr=tanh%28x%29):
dsigmoid(x) = sech(x)*sech(x)
当使用 1-x*x 时,训练确实会收敛,但是当我使用数学上正确的导数时,即。 sech 平方,训练过程不收敛。
问题是为什么 1-x*x 有效(模型训练为正确的权重),而数学导数 sech2(x) 无效(最大迭代次数后获得的模型错误重量)?
【问题讨论】:
-
你有什么问题?
-
澄清问题
标签: math machine-learning artificial-intelligence derivative sigmoid