与门
def AND(x1,x2):w1,w2,theta = 0.5,0.5,0.7tmp = w1*x1+w2*x2if tmp > theta:return 1else:return 0print(AND(0,1))
print(AND(1,0))
print(AND(1,1))
print(AND(0,0))
导入权重与偏置
import numpy as np
def AND_2(x1,x2):x = np.array([x1,x2])w = np.array([0.5,0.5])b = -0.7tmp = np.dot(x,w)+bif tmp > 0:return 1else:return 0print(AND_2(0,1))
print(AND_2(1,0))
print(AND_2(1,1))
print(AND_2(0,0))
或门
def OR(x1,x2):x = np.array([x1,x2])w = np.array([0.5,0.5])tmp = np.dot(x,w)if tmp > 0:return 1else:return 0
与非门
def NAND(x1,x2):x = np.array([x1,x2])w = np.array([-0.5,-0.5])b = 0.7tmp = np.dot(x,w)+bif tmp > 0:return 1else:return 0
异或门
def XOR(x1,x2):s1 = NAND(x1,x2)s2 = OR(x1,x2)y = AND(s1,s2)return y
参考资料
《深度学习入门:基于python的理论与实践》