Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解释整洁的Python';s输出_Python_Neural Network_Feed - Fatal编程技术网

如何解释整洁的Python';s输出

如何解释整洁的Python';s输出,python,neural-network,feed,Python,Neural Network,Feed,我正在学习使用NEAT算法的神经网络。为了理解结果,我尝试用Excel手工重现一些数值的计算结果 运行NEAT Python的XOR演示,我得到以下结果和相应的图表: Fitness: 3.93262784315 Nodes: 0 DefaultNodeGene(key=0, bias=-4.28711170619, response=1.0, activation=sigmoid, aggregation=sum) 1197 DefaultNodeGene(ke

我正在学习使用NEAT算法的神经网络。为了理解结果,我尝试用Excel手工重现一些数值的计算结果

运行NEAT Python的XOR演示,我得到以下结果和相应的图表:

Fitness: 3.93262784315
Nodes:
        0 DefaultNodeGene(key=0, bias=-4.28711170619, response=1.0, activation=sigmoid, aggregation=sum)
        1197 DefaultNodeGene(key=1197, bias=-1.20497802851, response=1.0, activation=sigmoid, aggregation=sum)
Connections:
        DefaultConnectionGene(key=(-2, 0), weight=-1.83815166978, enabled=True)
        DefaultConnectionGene(key=(-2, 1197), weight=1.7368731859, enabled=True)
        DefaultConnectionGene(key=(-1, 0), weight=5.72212927441, enabled=True)
        DefaultConnectionGene(key=(-1, 1197), weight=-1.30171417401, enabled=True)
        DefaultConnectionGene(key=(1197, 0), weight=9.27762332932, enabled=True)

Output:
input (0.0, 0.0), expected output (0.0,), got [5.485892844789737e-10]
input (0.0, 1.0), expected output (1.0,), got [0.9999970321654681]
input (1.0, 0.0), expected output (1.0,), got [0.9992352946960754]
input (1.0, 1.0), expected output (0.0,), got [0.2595603437828634]

虽然我了解NN的基本知识,但我没有得到命令行的结果: 首先,我以(0,0)为例计算节点1197的值:

最后的结果是:

5.7 * 0 +9.3 * 0.231475 (result node 1197) -1.8 * 0 -4.3 (bias)
=-2.147282...
sigmoid(-2.147282) = 0.104585...
这绝对不等于预期的5.485892844789737e-10。
有人能在我的计算中发现错误吗?

对于所有遇到相同错误的人:我逐行调试代码,发现sigmoid激活函数的定义如下:

def sigmoid_activation(z):
    z = max(-60.0, min(60.0, 5.0 * z))
    return 1.0 / (1.0 + math.exp(-z))
我不完全确定这个“正常化”的目的,但是这个5的因素造成了我的困难。第一行注释掉后,一切正常

def sigmoid_activation(z):
    z = max(-60.0, min(60.0, 5.0 * z))
    return 1.0 / (1.0 + math.exp(-z))