基于Excel实现多层感知机(MLP)前向传播计算过程详解

📅 2026/7/8 23:09:13 👁️ 阅读次数 📝 编程学习
基于Excel实现多层感知机(MLP)前向传播计算过程详解

一、问题背景

随着人工智能技术的发展,神经网络已经成为机器学习领域最核心的方法之一。其中,多层感知机(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等内容奠定了理论基础。