感知机
感知机的实现
感知机算法只能是直线
- 与门的实现
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
- 或门实现
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
- 与非门
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
导入权重和偏置
- 比如与门加入权重
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

感知机概念基础实现
浙公网安备 33010602011771号