本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
三层MLP神经网络是MPL(Multilayer Perceptron)神经网络中的一种经典结构,它可拟合任意函数
本文讲解三层MLP的模型结构,并剖析三层MLP神经网络的意义,以及讲解它在深度学习中的作用
通过本文可以了解三层MLP神经网络是什么,有什么用途,以及它用于拟合任意函数时的本质原理
本节介绍最常用的三层MLP的结构及其数学表达式
三层MLP的结构与模型公式
MLP神经网络在提出时虽然是多层的,但很多一段时间都往往只用三层MLP
因为已被证明,三层MLP神经网络只要隐节点足够多,就能够拟合任意x,y的关系
三层MLP神经网络的模型结构
三层MLP神经网络的模型结构如下:
如图所示,三层MLP共由三层构成:输入层、隐层、输出层
其中,输入、输出层的神经元个数就是输入、输出变量个数,隐层的神经元个数由自已设定
隐层与输出层都可以设置激活函数,隐层的激活函数一般为tanh函数,输出层则一般不设
三层MLP神经网络的数学表达式
由于三层MLP的结构简单
我们甚至不需要用"分层前馈"的思想来看待它,直接就可以写它的模型表达式
假设三层MLP有两个输入、一个输出,隐层有三个隐神经元,则它的数学表达式如下:
其中,w是连接权重,b则是阈值,这里我们使用上标作为层数,下标作为节点索引
例如代表第2层第3个节点与第1层第2个节点的连接权重
三层MLP的隐层使用tanh函数作为激活函数,它主要是为了提供非线性影射功能
而输出层没有设置激活函数,目的是为了不限制模型的输出范围
本节介绍三层MLP本身的意义,以及它在深度学习中的意义
三层MLP的意义
三层MLP的意义
三层MLP的意义是非凡的,只要隐节点足够多,它可以拟合任意x,y之间的关系
对于三层MLP,它的数学表达式如下:
从三层MLP的表达式可以看到,三层MLP就是多个tanh函数之和
因此,我们可以理解为:三层MLP就是使用多个tanh曲线来拼凑目标曲线,如下:
也就是说,隐层设置了多少个隐节点,就相当于用多少个tanh函数来拼凑目标曲线
而其中的各个W、b则控制了tanh曲线的高矮肥瘦与位置
而tanh函数只在局部具有非线性,因此只要隐节点设置得足够多,它就可以拟合任意形态的曲线
一般来说,如果需要拟合的目标曲线相对平滑简单,那么隐节点个数就少一些,否则,则需要多一些
所以,三层MLP的原理实际就非常的简单,就是用多个tanh来拼凑目标曲线,所以隐节点多够多,就能拟合任意关系
三层MLP在深度学习中的意义
三层MLP结构既简单,又能拟合出任意形态的曲线
因此在深度学习中一般被当作一个“能拟合任意关系的黑箱模型”这样的小组件来使用
即,当X和y的关系不明确的时候,就直接假设它们的关系是y = MLP(x),然后再用数据来训练它即可
在往后深度学习的知识内容之中,会经常见到三层MLP的身影
好了,以上就是三层MLP的全部内容了~
End