实现异或门的前提需要
单层的感知机是无法实现的异或门的,原因:单层感知机无法实现分离非线性空间。通过组合感知机(叠加层)就可实现异或门。
首先来理解一下什么是异或门,异代表不同,或代表有一个就可以(有一个为真就为真)。所以,实现异或门必要条件就是必须有或门(也就是代表要有一个为真),但是当2个输入都为真时,也输出为假,所以简单的或门肯定不行,另一个条件就是不同(异,也就是输入的参数不同)
实现原理步骤
x1,x2都是作为输入,与非门与或门,都是由x1,x2提供数据。非门的输出为s1,或门的输出为s2(细想一下非门与或门,在输入不同的情况下,输出为真),那么将s1与s2作为后面与门的输入,这样得到的结果就为异或门的输出。
代码实现
import numpy as np
def get_and(x1,x2):
x =np.array([x1,x2])
y = np.array([0.5,