多层感知机——2020.2.15

Posted somedayli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多层感知机——2020.2.15相关的知识,希望对你有一定的参考价值。

一、隐藏层

????多层感知机在单层神经?络的基础上引?了?到多个隐藏层(hidden layer)。隐藏层位于输?层和输出层之间。下图展示了?个多层感知机的神经?络图,它含有?个隐藏层,该层中有5个隐藏单元。

技术图片

????上图所示的多层感知机中,输?和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元(hidden unit)。由于输?层不涉及计算,因此上图的多层感知机的层数为2。由上图可?,隐藏层中的神经元和输?层中各个输?完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接。因此,多层感知机中的隐藏层和输出层都是全连接层。

二、激活函数

????上述问题的根源在于全连接层只是对数据做仿射变换(affine transformation)?多个仿射变换的叠加仍然是?个仿射变换。解决?法——引??线性变换,即通过激活函数(activation function)实现非线性变换。关于激活函数,可以看我的另一篇博客激活函数总结,本书中列举的三个激活函数是:ReLU函数、sigmoid函数、tanh函数。

三、多层感知机

????多层感知机是指——由全连接组成的神经网络,至少含有一个隐藏层,并且,每个隐藏层的输出均通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数(超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据——百度百科)。以单隐藏层为例并沿?本节之前
定义的符号(见下面引用内容),多层感知机按以下?式计算输出:

给定?个?批量样本(X in R^{n imes d}) ,其批量??为(n) ,输?个数为(d)。假设多层感知机只有?个隐藏层,其中隐藏单元个数为 。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为(H),有(H in R^{n imes h})。因为隐藏层和输出层均是全连接层,可以设隐藏层的权重参数和偏差参数分别为(W_h in R^{d imes h})(b_h in R^{1 imes h}),输出层的权重和偏差参数分别为(W_o in R^{h imes q})(b_o in R^{1 imes q})

[ H = phi left( XW_h + b_h ight) O = HW_o + b_o ]
????其中(phi)表示激活函数。在分类问题中,我们可以对输出(O)做softmax运算,并使?softmax回归中的交叉熵损失函数。 在回归问题中,我们将输出层的输出个数设为1,并将输出(O)直接提供给线性回归中使?
的平?损失函数。

小结

  • 多层感知机在输出层与输?层之间加?了?个或多个全连接隐藏层,并通过激活函数对隐藏层输出进?变换。
  • 常?的激活函数包括ReLU函数、sigmoid函数和tanh函数。

以上是关于多层感知机——2020.2.15的主要内容,如果未能解决你的问题,请参考以下文章

神经网络多层感知机

python实现多层感知机

python实现多层感知机

感知机+激活函数+多层感知机的实现

神经网络多层感知机的从零开始实现(mlp-scratch)

从头学pytorch 多层感知机及其实现