【MLP多层感知机】
目录
- 1.多层感知机的概念
- 2.多层感知机结构
- 3.如何由线性结构变为多为多层感知机
1.多层感知机的概念
MLP(多层感知机,Multilayer Perceptron)是一种前馈人工神经网络(Feedforward Artificial Neural Network),是深度学习中的基础模型之一,主要用于分类和回归任务。
1)感知机(PLA,Perceptron Learning Algorithm):只有输入和输出层,这两层共同组成了一个简单的神经元,即单个神经元模型,是较大神经网络的前身。它是一个线性的二分类器,但它对非线性的数据并不能进行有效的分类。因此我们可以加深这个神经元的网络层次,理论上来说,多层网络可以模拟任何复杂的函数。以下是感知机的概念公式:
2)多层感知机(MLP,Multi-Layer Perceptron):由感知机推广而来,它最主要的特点就是有多个神经元层,因此 MLP 也被称为人工神经网络(Artificial Neural Network,ANN)。MLP 是一种特定类型的人工神经网络,它由多个神经元组成,通常包括一个输入层、一个或多个隐藏层以及一个输出层。相对而言,ANN 是一个更广泛的术语,它包括了所有由神经元组成的网络,而 MLP 则是 ANN 中的一个特例,指代具有多个层的前馈神经网络。所以在讨论上,MLP 和 ANN 可以互换使用。
2.多层感知机结构
MLP 由多个神经元Neuron组成,通常包括以下层次:
输入层(Input Layer):接收特征输入,每个节点对应一个输入特征。
隐藏层(Hidden Layers):由多个神经元组成,每个神经元与上一层的所有神经元全连接,并进行非线性变换。
输出层(Output Layer):根据任务类型,输出分类结果或回归值。
MLP并没有限定隐层的数量,对于输出层神经元的个数也没有限制,所以我们可以根据各自的需求选择合适的隐层层数。
(图1为感知机,图2为多层感知机)
图1:感知机结构图
图2:多层感知机结构图
多层感知机这三类给定层(输入、中间、输出层)中的每个节点都会连接到相邻层中的每个节点(全连接),所以这里有一个MLP中最重要的一个组成就是Dense Layer。
3.如何由线性结构变为多为多层感知机
我们了解了线性回归,知道了多层感知机有三个层次,那么如何将线性结构变为多层的感知机呢?——重点就是:全连接(Dense) + 激活函数(引入非线性)。
因为想做到非线性,那我们可以尝试使用多个全连接层,但是将全连接层简单的叠加在一起还是线性的,所以要加入非线性的东西在里面,也就是激活函数(比如sigmoid、Relu等),才能实现我们想要的非线性(去拟合各种各样的函数,更具现实意义)。以下是具有一层隐藏层的MLP(左)和具有三层隐藏层的MLP(右)结构示图: