多层感知机

应用场景

多层感知机(multilayer perceptron,MLP)是多层神经网络。
多层感知机

模型

每一层相当于一个softmax回归,所以对于多样本,Hidden层和Output层的表达式分别是:
H=XWh+bh,O=HWo+bo, \begin{aligned} \boldsymbol{H} &= \boldsymbol{X} \boldsymbol{W}_h + \boldsymbol{b}_h,\\ \boldsymbol{O} &= \boldsymbol{H} \boldsymbol{W}_o + \boldsymbol{b}_o, \end{aligned}

如果直接将两式联立,得到的输出:
O=(XWh+bh)Wo+bo=XWhWo+bhWo+bo. \boldsymbol{O} = (\boldsymbol{X} \boldsymbol{W}_h + \boldsymbol{b}_h)\boldsymbol{W}_o + \boldsymbol{b}_o = \boldsymbol{X} \boldsymbol{W}_h\boldsymbol{W}_o + \boldsymbol{b}_h \boldsymbol{W}_o + \boldsymbol{b}_o.

虽然神经网络引入了隐藏层,效果却依然等价于一个单层神经网络。因为一层是仿射变换(affine transformation),多个仿射变换的叠加仍然是一个仿射变换。因此,需要在层与层之间引入非线性函数,这个非线性函数被称为**函数(activation function)。主要的**函数包括ReLU、sigmoid、tanh,函数公式、函数曲线、导数公式、导数曲线见:多层感知机.ipynb

在隐藏层加入了**函数的多层感知机模型:
H=ϕ(XWh+bh),O=HWo+bo, \begin{aligned} \boldsymbol{H} &= \phi(\boldsymbol{X} \boldsymbol{W}_h + \boldsymbol{b}_h),\\ \boldsymbol{O} &= \boldsymbol{H} \boldsymbol{W}_o + \boldsymbol{b}_o, \end{aligned}

其中ϕ\phi表示**函数。