李燕

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

异或运算与同或运算

X1,X2取0或者1,左边图中只有两个positive examples和两个negative examples,是右边复杂图的简化,对于右边这张图,我们想做的是learn a nonlinear division of bondary(能够将positive和negative分开),那么神经网络是如何做到的呢?我们将右边的图简化为左边的那个图.

XOR: 异或运算。

XNOR:同或= NOT(x1 XOR X2)

左边图中很显然是XNOR运算,为了实现这个XNOR运算,我们先来看看一个简单的AND运算的实现

AND运算用神经网络实现

 

 

左上图中包括bias unit(=+1),我们分配一些值给parameters Θ(即weights)of this network,如左上图所示的值(-30,=20,=20),即hypetheses为                                  hΘ(x)=g(-30+20x1+20x2).

the activation sigmoid function g(z)的图像如右上图所示,当z=4.6时,g(z)的值为0.99(与1非常接近),当z=-4.6时,函数的值为0.01(非常接近于0);

右下角的表格(truth table)是当x1,x2取不同的4个值是 hΘ(x)的值。观察hΘ(x)的值发现它正是逻辑与的值,即hΘ(x)≈X1 AND X2

OR运算用神经网络实现

 

若Θ=(-10,20,20)时,hΘ(x)≈X1 OR X2

总结

在神经网络中, single neuron 能被用来计算一些逻辑运算,如逻辑与,逻辑或,逻辑非,(NOT x1) AND (NOT x2)(详见神经网络(6)---一些神经网络学习复杂非线性问题的例子(2)中有图说明)...

 

posted on 2015-11-25 20:02  李燕  阅读(1045)  评论(0编辑  收藏  举报