深度学习入门 (2)感知机的简单实现

与门

def AND(x1,x2):
    w1,w2,theta = 0.5,0.5,0.7
    tmp = w1*x1+w2*x2
    if tmp > theta:
        return 1
    else:
        return 0


print(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.7
    tmp = np.dot(x,w)+b
    if tmp > 0:
        return 1
    else:
        return 0

print(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 1
    else:
        return 0

与非门

def NAND(x1,x2):
    x = np.array([x1,x2])
    w = np.array([-0.5,-0.5])
    b  = 0.7
    tmp = np.dot(x,w)+b
    if tmp > 0:
        return 1
    else:
        return 0

异或门

def XOR(x1,x2):
    s1 = NAND(x1,x2)
    s2 = OR(x1,x2)
    y = AND(s1,s2)
    return y

参考资料

《深度学习入门:基于python的理论与实践》

posted @ 2025-03-04 20:30  屈臣  阅读(11)  评论(0)    收藏  举报