我创建了一个神经网络来预测将需要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))