神经网络计算异或

首先介绍“和”操作

x1, x2 ∈ {0, 1}

y = x1 AND x2

\[{h_\theta }\left( x \right) = g\left( { - 30 + 20{x_1} + 20{x_2}} \right)\]

其中g()是sigmoid函数,其图示如下

当z=4.6时,函数值约为0.99;当z=-4.6时,函数值约为0.01

计算

x1 x2 h(x)
0 0 g(-30)≈0
0 1 g(-10)≈0
1 0 g(-10)≈0
1 1 g(10)≈1

 

然后是“或”操作

\[{h_\theta }\left( x \right) = g\left( { - 10 + 20{x_1} + 20{x_2}} \right)\]

x1 x2 h(x)
0 0 0
0 1 1
1 0 1
1 1 1

 

然后是“非”操作

\[{h_\theta }\left( x \right) = g\left( {10 - 20{x_1}} \right)\]

计算

x1 h(x)
0 1
1 0

 

 

那么“非x1和非x2”如下图


最后计算“异或”

计算

x1 x2 a1(2) a2(2) hθ(x)
0 0 0 1 1
0 1 0 0 0
1 0 0 0 0
1 1 1 0 1
posted @ 2018-10-29 16:36  qkloveslife  阅读(1693)  评论(0编辑  收藏  举报