一、问题背景
随着人工智能技术的发展,神经网络已经成为机器学习领域最核心的方法之一。其中,多层感知机(MLP,Multi-Layer Perceptron)作为最基础、最经典的前馈神经网络结构,被广泛应用于:
- 图像分类
- 数据预测
- 金融分析
- 医学诊断
- 工业检测
- 智能推荐等领域
MLP本质上是通过多层神经元之间的连接,对输入数据进行非线性映射,从而实现复杂函数拟合能力。
虽然目前主流深度学习框架(如TensorFlow、PyTorch)能够自动完成神经网络训练,但如果仅依赖框架调用,往往难以真正理解神经网络内部的数学机制。因此,本实验采用 Excel 手动实现MLP前向传播过程,通过逐层展开计算公式,深入理解:
- 神经元的计算原理
- 权重与偏置的作用
- 激活函数的意义
- 神经网络的非线性映射能力
- 前向传播机制
该方法具有较强的教学意义和可视化优势,适合神经网络基础学习。
二、多层感知机(MLP)原理
2.1 神经元模型
MLP的基础单元是人工神经元,其结构来源于生物神经元模型。
一个神经元的核心计算过程包括:
1、输入加权求和
2、加入偏置项
3、激活函数非线性变换
数学表达式如下:
其中:
xi:输入特征
wi:权重参数
b:偏置
z:线性输出
随后通过激活函数得到最终输出:a=f(z)
2.2 MLP网络结构
本实验构建一个典型三层结构:
输入层(2个节点)
↓
隐藏层(2个神经元,ReLU)
↓
输出层(1个神经元,Sigmoid)
其特点:输入层负责接收数据,隐藏层负责提取特征,输出层完成预测
相比单层感知机,MLP最大的优势是:具有非线性建模能力。
三、实验模型设计
3.1 输入数据
设输入向量为:X=[x1,x2]
实验中:x1=1.0,x2=2.0
3.2 隐藏层参数
隐藏层包含两个神经元。
权重矩阵:
偏置:b1=0.1,b2=−0.2
3.3 输出层参数
输出层权重:v1=1.0,v2=−1.5
输出偏置:bout=0.2
四、前向传播计算过程
前向传播(Forward Propagation)是指:
输入数据从输入层开始,经过隐藏层逐层计算,最终得到预测结果的过程。
五、隐藏层计算
5.1 第一个隐藏神经元
线性计算:
代入数据:
z1=1.0×0.5+2.0×0.3+0.1=1.2
5.2 第二个隐藏神经元
代入:
z2=1.0×(−0.4)+2.0×0.8−0.2=1.0
六、ReLU激活函数
6.1 激活函数作用
如果神经网络只有线性运算,则无论多少层,本质上仍是线性模型。因此必须引入非线性激活函数。本实验使用ReLU函数:ReLU(x)=max(0,x)
其特点:计算简单,收敛速度快,缓解梯度消失,深度学习中应用最广泛。
6.2 激活结果
a1=max(0,1.2)=1.2
a2=max(0,1.0)=1.0
七、输出层计算
输出层继续进行线性组合:
代入数据:
zout =1.2×1.0+1.0×(−1.5)+0.2=−0.1
八、Sigmoid输出层
8.1 Sigmoid函数
输出层采用Sigmoid函数:
特点:输出范围为0~1,可表示概率,常用于二分类问题
8.2 最终输出
代入:
计算结果:y≈0.475
说明:模型认为该样本属于正类的概率约为47.5%。
九、MLP的优缺点分析
9.1 优点
(1)结构简单,容易理解与实现。
(2)适用范围广,适用于分类、回归等任务。
(3)具有非线性拟合能力,能够解决复杂问题。
9.2 缺点
(1)参数量较大,容易出现过拟合。
(2)训练速度慢,层数增加后计算复杂度提高。
(3)无法处理时序信息,相比RNN/LSTM,对序列建模能力较弱。
十、实验总结
本文基于Excel实现了一个完整的MLP前向传播过程,从神经元原理出发,详细分析了:
权重计算、偏置作用、激活函数、隐藏层特征提取、输出层概率预测
相比直接使用深度学习框架,Excel实现更加直观,有助于理解神经网络底层数学机制。
本实验不仅完成了MLP计算过程展示,也为后续学习BP反向传播、梯度下降、深层神经网络、CNN与LSTM等内容奠定了理论基础。