1. 感知机是什么?
感知机能够接受多个输入信号,输出一个信号
重点:权重w1、w2 以及 门限值Threshold
图形表述如下:
公式如下
$$
y = \begin{cases}
0 & (w_1x_1 + w_2x_2 \leqslant \theta) \\
1 & (w_1x_1 + w_2x_2 > \theta)
\end{cases}
$$2. 感知机实现门电路
实现或门,与门,与非门是简单的
与非门就是与门权重和门限值都取负数即可
但是单靠单个的上述感知机实现异或门是做不到的,需要增加感知机的层数
如图:
3.python代码的简单实现
"""
AND 函数
"""
def AND(x1,x2):
w1,w2,theta = 0.5,0.5,0.7
if(x1*w1+x2*w2>theta):
return 1
else:
return 0
# print(AND(0,0))
# print(AND(1,0))
# print(AND(0,1))
# print(AND(1,1))
"""
OR 函数
"""
def OR(x1,x2):
w1,w2,theta = 0.5,0.5,0.4
if(x1*w1+x2*w2>theta):
return 1
else:
return 0
# print(OR(0,0))
# print(OR(1,0))
# print(OR(0,1))
# print(OR(1,1))
"""
NAND 函数
"""
def NAND(x1,x2):
w1,w2,theta = -0.5,-0.5,-0.7
if(x1*w1+x2*w2>theta):
return 1
else:
return 0
# print(NAND(0,0))
# print(NAND(1,0))
# print(NAND(0,1))
# print(NAND(1,1))
"""
XOR 函数
"""
def XOR(x1,x2):
return AND(OR(x1,x2),NAND(x1,x2))
# print(XOR(0,0))
# print(XOR(1,0))
# print(XOR(0,1))
# print(XOR(1,1))