神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归,在使用原始特征 x1,x2,...,xn 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征,但仍然受到原始特征的限制。在神经网络中,原始特征仅作为输入层存在。以一个三层的神经网络为例,输出层所做的预测利用的是第二层的特征,而不是输入层中的原始特征。因此,可以将第二层中的特征看作是神经网络通过学习后自动生成的一系列新特征,用于更好地预测输出变量。
单层神经元,即没有中间层的情况,可以被用来表示逻辑运算,如逻辑与(AND)和逻辑或(OR)。通过一个简单的例子来说明逻辑与(AND)的表示。
逻辑与(AND)的神经网络表示


逻辑或(OR)的神经网络表示
逻辑或(OR)的表示与逻辑与(AND)类似,区别在于权重不同。通过选择合适的权重,可以构建表示逻辑或的神经网络。

当输入特征为布尔值(0 或 1)时,可以使用单一的激活层来表示二元逻辑运算符。关键在于选择不同的权重,从而实现不同的逻辑运算。下面是几个例子:
1. 逻辑与(AND)的神经元表示
考虑一个神经元,其三个权重分别为 Θ0=−30,Θ1=20,Θ2=20。这个神经元的输出可以被视为等同于逻辑与(AND)运算。
2. 逻辑或(OR)的神经元表示
另一个神经元,其三个权重分别为 Θ0=−10,Θ1=20,Θ2=20,可以被视为等同于逻辑或(OR)运算。

3. 逻辑非(NOT)的神经元表示
一个仅含有两个权重的神经元,权重分别为 10 和−20,可以被视为等同于逻辑非(NOT)运算。
通过组合这些神经元,可以实现更为复杂的逻辑运算。例如,想要实现 XNOR 运算符(当输入的两个值均为 1 或均为 0 时输出 1,否则输出 0),可以按照以下步骤:
通过这样的方法,得到了一个能实现 XNOR 运算符功能的神经网络。

参考资料: