简述#
深度前馈网络(deep feedforward network), 又叫前馈神经网络(feedforward neural network)和多层感知机(multilayer perceptron, MLP) .
深度前馈网络之所以被称为网络(network),因为它们通常由许多不同的符合函数组合在一起来表示。
由输入层(input layer)、隐藏层(hidden layer)、输出层(output layer)构成。
隐藏层的维数决定了模型的宽度(width)。
如图,这是一个经典的二层神经网络模型(Two-Layer Neural Network)。通常输入层和输出层神经元的个数是固定的,我们需要选择和调整隐藏层的层数和每一层神经元的个数等。
注:我们可以利用矩阵乘法来迅速计算神经网络的输出,后面不会提及。可以参考Python神经网络编程(拉希德著)这本书,写的非常简洁。
线性分类问题#
所有数据样本是线性可分的,即满足一个形如 w0+w1x1+w2x2
的线性方程的划分
线性分类问题的局限#
我们引入经典的逻辑运算来推理线性分类问题的局限。
如图所示,分别为线性模型来表示 AND,OR 逻辑,那么XOR要怎么表示呢?
由图可知:我们可以利用线性模型拟合出一个直线来表示 AND、OR、NOR 的逻辑运算,但是没有办法用一条直线表示 xor 异或逻辑,这就是一个经典的非线性问题!
注:黑色点是positive(1)的点,白色点是negative(0)的点
从逻辑运算的视角来看:
逻辑 1 1 0 1 1 0 0 0
AND 1 AND 1 = 1 0 AND 1 = 0 1 AND 0 = 0 0 AND 0 =