我创建了一个神经网络来预测将采用 3 个输入值并给出一个具有 2 个中间层的输出的值。但是当它运行时,它会在函数中给出异常。我预计最终输出的值在 1-15 之间。
这是我的函数代码
def nonlinear(facts, derive = False):
if(derive == True):
return facts*(1-facts)
else:
return 1/(1+pckg.exp(-facts))
我创建的权重
weight1 = 2*pckg.random.random((3,4))-1
weight2 = 2*pckg.random.random((4,1))-1
这是我使用非线性函数的其余代码
layer0 = facts;
layer1 = nonlinear(pckg.dot(layer0,weight1))
layer2 = nonlinear(pckg.dot(layer1,weight2))
layer2Value = layer2Error*nonlinear(layer2,derive = True)
layer1Value = layer1Error*nonlinear(layer1, derive = True)
请注意,我没有包含完整的代码。
这是我得到的例外
RuntimeWarning: overflow encountered in exp return 1/(1+pckg.exp(-facts))