多层感知机

应用场景

多层感知机(multilayer perceptron,MLP)是多层神经网络。
多层感知机_第1张图片

模型

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

如果直接将两式联立,得到的输出:
O = ( X W h + b h ) W o + b o = X W h W o + b h W o + b o . \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. O=(XWh+bh)Wo+bo=XWhWo+bhWo+bo.

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

在隐藏层加入了激活函数的多层感知机模型:
H = ϕ ( X W h + b h ) , O = H W o + b o , \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} HO=ϕ(XWh+bh),=HWo+bo,

其中 ϕ \phi ϕ表示激活函数。

你可能感兴趣的:(PyTorch,机器学习)