Neural network 使用感知器获取[1,0]in或门的错误输出

Neural network 使用感知器获取[1,0]in或门的错误输出,neural-network,perceptron,Neural Network,Perceptron,以上代码用于更新感知器模型中的权重(使用感知器实现OR门) 我得到了输出: print(per.predict([0,0])) print(per.predict([0,1])) print(per.predict([1,0])) print(per.predict([1,1])) 请解释错误在哪里以及如何解决。。 (完整代码的链接:)尝试将您的学习率设为负值我尝试过这样做。它仍然不起作用。简单看一下你的代码,它似乎有点错误。首先,阶跃函数的学习率如此之低可能不起作用。5个时代也很低。试试50

以上代码用于更新感知器模型中的权重(使用感知器实现OR门)

我得到了输出:

print(per.predict([0,0]))
print(per.predict([0,1]))
print(per.predict([1,0]))
print(per.predict([1,1]))
请解释错误在哪里以及如何解决。。
(完整代码的链接:)

尝试将您的学习率设为负值我尝试过这样做。它仍然不起作用。简单看一下你的代码,它似乎有点错误。首先,阶跃函数的学习率如此之低可能不起作用。5个时代也很低。试试5000。您将所有权重初始化为1,这肯定会影响性能。没有偏见。您使用的是阶跃函数(无梯度)。也许你可以试着自己画出这个网络,一步一步地手动运行你的代码,如果你这样做的话,我相信你会更好地理解这个问题并得到一个有效的解决方案
print(per.predict([0,0]))
print(per.predict([0,1]))
print(per.predict([1,0]))
print(per.predict([1,1]))
[0]
[1]
[0]
[1]