5
特征和直观理解
1
从本质上讲,神经网络能够通过学习得出其自身的一系列特征。在普通的逻辑回归中,
我们被限制为使用数据中的原始特征
x
1
,x
2
,...,x
n
,我们虽然可以使用一些二项式项来组合这
些特征,但是我们仍然受到这些原始特征的限制。在神经网络中,原始特征只是输入层,在
我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特征,
而非输入层中的原始特征,我们可以认为第二层中的特征是神经网络通过学习后自己得出的
一系列用于预测输出变量的新特征。
神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑
AND
、逻
辑或
OR
。
举例说明:逻辑与
AND
;下图中左半部分是神经网络的设计与
output
层表达式,右边
上部分是
sigmod
函数,下半部分是真值表。
我们可以用这样的一个神经网络表示 AND 函数

其中
θ
0
=-30
,
θ
1
=20
,
θ
2
=20
我们的输出函数 h(x)即为

我们知道 g(x)的图像是:所以我们有:
所以我们的:

这就是
AND
函数。
接下来再介绍一个 OR 函数

OR 与 AND 整体一样,区别只在于的取值不同
6 样本和直观理解 II
二元逻辑运算符(
BINARY LOGICAL OPERATORS
)当输入特征为布尔值(0 或
1
)时,我
们可以用一个单一的激活层可以作为二元逻辑运算符,为了表示不同的运算符,我们之需要
选择不同的权重即可。
下图的神经元(三个权重分别为
-30
,
20
,
20
)可以被视为作用同于逻辑与(
AND
):

下图的神经元(三个权重分别为-10,20,20)可以被视为作用等同于逻辑或(OR):
下图的神经元(两个权重分别为 10,-20)可以被视为作用等同于逻辑非(NOT):
我们可以利用神经元来组合成更为复杂的神经网络以实现更复杂的运算。例如我们要实
现
XNOR
功能(输入的两个值必须一样,均为
1
或均为
0
),即 XNOR=(
x1ANDx2
) OR((NOTx1)AND(NOTx
2
))
首先构造一个能表达
(NOTx
1
)AND(NOTx
2
)
部分的神经元

然后将表示
AND
的神经元和表示
(NOTx
1
)AND(NOTx
2
)
的神经元以及表示
OR
的神经元
进行组合:

我们就得到了一个能实现 XNOR 运算符功能的神经网络。
按这种方法我们可以逐渐构造出越来越复杂的函数,也能得到更加厉害的特征值。
这就是神经网络的厉害之处。