鱼书学习笔记-第二章感知机

1.感知机

感知机接收多个输入信号,输出一个信号。0对应”不传递信号“,1对应”传递信号“

当输入信号×权重的总和超过阈值θ时,神经元被激活

权重越大,对应该权重的信号的重要性越高

与门(阈值θ换成-b,b称为偏置):

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

偏置是调整神经元被激活的容易程度的参数

与非门:

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

或门:

x=np.array([x1,x2])
w=np.array([0.5,0.5])
b=-0.2
tmp=np.sum(w*x)+b
if tmp<=0:
    return 0
else:
    return 1

与门、与非门、或门是具有相同构造的感知机,区别只在于权重参数的值。

2.感知的局限性

单层感知机的局限性就在于它只能表示由一条直线分割的空间(线性空间)

异或门:鱼书学习笔记-第二章感知机_第1张图片

用感知机表示异或门:

鱼书学习笔记-第二章感知机_第2张图片

如图所示,异或门是一种多层结构的神经网络。和与门、或门形状不同,与门、或门是单层感知机,而异或门是2层感知机。上图感知机由3层构成,但拥有权重的层实质上只有2层(第0层和第1层之间,第1层和第2层之间)

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

单层感知机无法表示的东西,通过增加一层就可以解决。

理论上2层感知机就能构建计算机,这是因为,使用sigmoid函数作为激活函数的2层感知机可以表示任意函数。

补充:perceptron感知机

你可能感兴趣的:(学习)