我尝试使用二进制输入 (0,1) 和二进制输出 (0,1) 来跟踪逻辑“或”的感知器算法。但是,它似乎不起作用!
这是我的尝试:
x1 x2 w1 w2 bias t y
1 1 0 0 0 1 0 Update
1 0 1 1 1 1 1 OK
0 1 1 1 1 1 1 OK
0 0 1 1 1 0 1 Update
1 1 1 1 1 1 1 OK
1 0 1 1 1 1 1 OK
0 1 1 1 1 1 1 OK
0 0 1 1 1 0 1 Update (but as before no updates occur)
我的更新规则是:
Wi = Wi + xi*ti
Bi = Bi + ti
最佳答案
看来我的更新规则很简单。确切的更新规则必须是:
Wi = Wi + xi*(ti - yi)
Bi = Bi + (ti - yi)
当 x1
和 x2
都为零时,此更改会导致 -1
用于更新 b
:
x1 x2 w1 w2 bias t y t-y
1 1 0 0 0 1 0 1 Update
1 0 1 1 1 1 1 0 OK
0 1 1 1 1 1 1 0 OK
0 0 1 1 1 0 1 -1 Update
1 1 1 1 0 1 1 0 OK
1 0 1 1 0 1 1 0 OK
0 1 1 1 0 1 1 0 OK
0 0 1 1 0 0 1 0 OK
关于algorithm - 感知器算法是否适用于二进制输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53840493/