深入浅出——用Excel硬核拆解多层感知机(MLP)的数学原理
2026/4/15 4:39:11 网站建设 项目流程

在深度学习的黑盒中,神经网络是如何“学习”的?很多初学者会被复杂的代码和框架绕晕。今天,我们将剥开代码的外衣,通过一份纯手工打造的Excel计算示例,一步步拆解多层感知机(MLP)的前向传播反向传播过程。

1. 我们的神经网络结构(基于Excel数据)

根据我们的Excel表格,这是一个没有使用非线性激活函数(即线性激活)的简易MLP网络片段。我们取其中一个神经元的计算链路来看:

  • 输入特征 (): 5

  • 隐藏层权重 (): 10

  • 隐藏层偏置 (): 10

  • 输出层权重 (): 10

  • 真实目标值 (): 208

  • 学习率 (): 0.01


2. 第一步:前向传播 (Forward Propagation)

前向传播就是网络根据当前的权重猜一个答案的过程。

  • 隐藏层计算

    隐藏层加权和 =

    计算:

    (表格中“隐藏层加权和”与“隐藏层输出值”均为60)

  • 输出层计算

    假设经过其他神经元的累加及输出偏置后,当前网络的**最终输出值 ()**为9520


3. 第二步:计算误差 (Loss Calculation)

网络猜出来的答案(9520)和真实答案(208)差距有多大?我们用**均方误差(MSE)**的平方项来表示:

  • 误差平方=

    计算:

差距非常大!接下来网络需要通过“反向传播”来纠正这个错误。


4. 第三步:反向传播与链式求导 (Backward Propagation)

我们需要计算误差对每一个权重的导数(梯度),以此来决定权重该往哪个方向调整。

① 对输出层的求导(误差的源头):

  • 误差对输出值的导数 ()=

    计算:

② 更新输出层权重 ():

  • 导数= 误差导数隐藏层输出 =

  • 调整幅度= 导数学习率 =

  • = 原- 调整幅度 =

③ 更新隐藏层权重 () 与偏置 ():

首先计算误差传递到隐藏层的梯度:

  • 隐藏层梯度 ()= 误差导数=

接着更新

  • 导数=输入=

  • 调整幅度=

  • =

  • 导数==

  • 调整幅度=

  • =

5. 总结

经过一次迭代,我们的权重产生了巨大的调整(因为没有归一化且学习率相对当前误差来说偏大,导致了梯度爆炸现象)。通过这种计算误差 -> 链式求导 -> 更新参数的循环,这就是Excel表格中所展示的神经网络学习的本质!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询