深度学习入门-感知机
1、感知机是什么
感知机接收多个输入信号,输出一个信号。
2、感知机实现与门
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
3、导入权重和偏置
将2.1公式中的 θ 换成−b得到如下的公式来表示感知机,b称为偏置(偏置是调 整神经元被激活的容易程度(输出信号为1的程度)的参数),w1和w2称为权重。
使用权重和偏置实现与门
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
4、感知机的局限性与多重感知机
感知机虽然可以实现与门、或门、非门三种逻辑电路哦,但是无法直接表示异或门。要表示异或门,需要引入多层感知机(叠加了多 层的感知机也称为多层感知机)。感知机通过叠加层可以进行非线性表示。
异或门的代码实现
def XOR(x1, x2):
s1 = NAND(x1, x2)
s2 = OR(x1, x2)
y = AND(s1, s2)
return y