异或运算与同或运算
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)中有图说明)...