algorithm - 感知器算法是否适用于二进制输入?

标签 algorithm machine-learning neural-network

我尝试使用二进制输入 (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)

x1x2 都为零时,此更改会导致 -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/

相关文章:

java - 构建入侵检测系统,但从哪里开始

algorithm - 从保持排序的有序列表生成随机子列表

algorithm - 用圆圈聚集一组点

algorithm - 如果进度和剩余天数百分比已知,则计算总体状态

neural-network - Pybrain 对任何输入输出相同的结果

python - 是否可以逐部分训练深度神经网络的输入

algorithm - 带有 K 钉的汉诺塔

java - 使用多个模型进行实体提取 - OpenNLP

machine-learning - 用于读取图像的tensorflow cifar10代码修改

apache-spark - Spark中LDA模型的在线学习