加载中...

感知机

感知机的实现

感知机算法只能是直线

  1. 与门的实现
def AND(x1, x2):
    w1, w2, theta = 0.5, 0.5, 0.7
    tmp = x1*w1+x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1
AND(0,0)
# 0
AND(1,1)
# 1
AND(1,0)
# 0
  1. 或门实现
def OR(x1, x2):
    w1, w2, theta = 2, 2, 1
    tmp = x1*w1+x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1
OR(0,0)
# 0
OR(1,1)
# 1
OR(1,0)
# 1
  1. 与非门
def NOTAND(x1, x2):
    w1, w2, theta = -0.5, -0.5, -0.7
    tmp = x1*w1+x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1
NOTAND(0,0)
# 1
NOTAND(1,1)
# 0
NOTAND(1,0)
# 1

导入权重和偏置

  1. 比如与门加入权重
def AND(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.7
    tmp = np.sum(w*x)+b
    if tmp <= 0:
        return 0
    else:
        return 1
posted @ 2022-09-13 11:15  猪猪会跳墙⊙∀⊙  阅读(27)  评论(0)    收藏  举报