单层感知机
权重偏置 :
感知机会计算输入
信号和权重的乘积,然后加上偏置,如果这个值大于
0
则输出
1
,否则输出
0
。
w1和w2
是控制输入信号的重要性的参数,而偏置是调
整神经元被激活的容易程度(输出信号为
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
与非门
def NAND(x1, x2):
x = np.array([x1, x2])
w = np.array([-0.5, -0.5]) # 仅权重和偏置与AND不同!
b = 0.7
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
或门(有1为1)
def OR(x1, x2):
x = np.array([x1, x2])
w = np.array([0.5, 0.5]) # 仅权重和偏置与AND不同!
b = -0.2
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
异或门(逻辑异或电路)/多层感知机
仅当
x
1
或
x
2
中的一方为
1
时,才会输出
1
def XOR(x1, x2):
s1 = NAND(x1, x2)
s2 = OR(x1, x2)
y = AND(s1, s2)
return y
单层感知机只能表示线性空间,而多层感知机可以表示非线性空间
感知机,通过叠 加层能够进行非线性的表示,理论上还可以表示计算机进行的处理。