1、多层感知机表示异或逻辑时最少需要几个隐含层(仅考虑二元输入)
0层是否可以?
具有0个隐藏层,等价于逻辑回归。是否可以表示异或运算呢?
X,Y相同为0,不同为1。
Z
=
s
i
g
m
o
i
d
(
A
X
+
B
Y
+
C
)
Z = sigmoid(AX + BY + C)
Z=sigmoid(AX+BY+C)
s
i
g
m
o
i
d
sigmoid
sigmoid是单调递增的。
A取值为正数时,Z和X正相关,此时,Y= 0 时,X的取值从0到1,Z的取值也为0到1 ,满足异或运算√
A取值为负数时,Z和X负相关,此时,Y= 0 时,X的取值从0到1,Z的取值也为1到0 ,不满足异或运算×
那么设A为正数。
然后当Y = 1时,X的取值从0到1,Z的取值也为0到1 ,不满足异或×
所以逻辑回归(0个隐藏层)无法实现异或运算。
1层是否可以?
Z
1
Z_1
Z1,
Z
2
Z_2
Z2为2个隐藏单元。
Z
1
Z_1
Z1中,x,y的权重均为1,偏置均为-1,相当于计算
H
1
=
X
+
Y
−
1
H_1 = X+Y-1
H1=X+Y−1。
应用Relu激活函数max(0,
H
1
H_1
H1)
Z
2
Z_2
Z2中,x,y的权重均为-1,偏置均为1,相当于计算
H
2
=
−
X
−
Y
+
1
H_2 = -X-Y+1
H2=−X−Y+1。
应用Relu激活函数max(0,
H
2
H_2
H2)