total_error = (target - output)**2
if total_error != 0:
for layer in range(len(self.weights)):
for weight_list in range(len(self.weights[layer])):
for weight in range(len(self.weights[layer][weight_list])):
self.weights[layer][weight_list][weight] -= total_error / self.weights[layer][weight_list][weight] #this on the line above
我似乎无法弄清楚如何计算错误,我正在制作一个神经网络来解决和没有模块的 python 中的 XOR 门,因为我的 pip 似乎不起作用,任何人都可以提供任何关于如何修复的见解这个问题。
我得到的结果偶尔会解决它,但除此之外,它会给出看似随机的值,范围从 0 到 1,完全无视目标值 我得到的结果
----------
0.0
0.0
0.0
0.0
----------
0.9994810006919062
0.9994810091976934
0.9994810111599509
0.9994810163419373
----------
当目标数据是
[0, 1, 1, 0]
我看不出我哪里错了
非常感谢任何帮助,谢谢