多层感知器(MLP)是一种非常简单的神经网络,其实现起来也是非常容易滴。那我们就来看一看吧
首先,先看一下来自维基百科的介绍:
多层感知器(Multilayer Perceptron,缩写MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法(BP算法)常被用来训练MLP。MLP是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点。
接下来我们看一个最简单的MLP结构:
最简单的MLP是三层结构(输入层-隐藏层-输出层),如下图所示:
多层感知机的层与层之间是全连接的,即每一层的任意一个神经元均与其前一层的所有神经元有连接,这种连接其实代表了一种权重加和。
例如:
从输入层到隐藏层:我们用X代表输入,H代表隐藏层,则H=f(W1X + B1),其中W1代表权重,B1代表偏置,函数f通常是非线性的,叫做激活函数。
常见的激活函数有:Sigmoid(S型激活函数,将输入映射到一个0到1之间的值,)
tanh(双曲正切函数,将输入映射到一个-1到1之间的值,