代码之家  ›  专栏  ›  技术社区  ›  Ahmad

感知器算法对二进制输入有效吗?

  •  0
  • Ahmad  · 技术社区  · 6 年前

    我试图用二进制输入(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
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Ahmad    6 年前

    我的更新规则似乎很简单。确切的更新规则必须是:

     Wi = Wi + xi*(ti - yi)
     Bi = Bi + (ti - yi)
    

    这种变化导致 -1 用于更新 b 当两者 x1 x2 为零:

    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