当前位置: 首页 > news >正文

基于 Excel 展示 MLP 神经网络的计算过程

刘君老师 高级算法与程序设计作业

学生:孙欣怡

一、实验目的

本次算法作业要求通过 Excel 文件展示多层感知机 MLP 的计算过程,并以博客形式说明具体的计算步骤。本文以一个简单的 MLP 网络为例,展示从输入层到隐藏层、输出层的前向传播过程,并进一步说明损失函数计算、反向传播梯度计算以及参数更新过程。

通过本实验,可以更加直观地理解 MLP 神经网络中权重、偏置、激活函数、损失函数和梯度下降之间的关系。


二、MLP 模型结构

本文采用一个简单的三层 MLP 网络结构,包括:

  • 输入层:2 个神经元
  • 隐藏层:2 个神经元
  • 输出层:1 个神经元

网络结构可以表示为:

输入层 x1, x2 ↓ 隐藏层 h1, h2 ↓ 输出层 y_pred

其中,隐藏层和输出层都使用 Sigmoid 激活函数。

Sigmoid 函数公式如下:

sigmoid(x) = 1 / (1 + e^(-x))

该函数可以将输入值映射到 0 到 1 之间,常用于二分类任务或简单神经网络示例中。


三、初始化参数

在 Excel 文件中,首先设置输入数据、目标输出、学习率以及各层权重和偏置。

假设输入为:

x1 = 0.6 x2 = 0.8

目标输出为:

y = 1

学习率为:

η = 0.5

初始权重和偏置示例如下:

w11 = 0.1 w12 = 0.2 w21 = 0.3 w22 = 0.4 b1 = 0.1 b2 = 0.1 v1 = 0.2 v2 = 0.3 b3 = 0.1

其中:

  • w11、w12、w21、w22表示输入层到隐藏层的权重
  • b1、b2表示隐藏层神经元的偏置
  • v1、v2表示隐藏层到输出层的权重
  • b3表示输出层偏置

四、前向传播计算过程

1. 隐藏层加权求和

隐藏层第一个神经元的输入为:

z1 = x1 * w11 + x2 * w21 + b1

隐藏层第二个神经元的输入为:

z2 = x1 * w12 + x2 * w22 + b2

代入数据后,Excel 会根据公式自动计算出隐藏层两个神经元的加权和。


2. 隐藏层激活输出

对隐藏层加权和使用 Sigmoid 激活函数:

h1 = sigmoid(z1) h2 = sigmoid(z2)

也就是:

h1 = 1 / (1 + EXP(-z1)) h2 = 1 / (1 + EXP(-z2))

在 Excel 中,可以使用如下公式:

=1/(1+EXP(-单元格))

这样就可以得到隐藏层两个神经元的输出值。


3. 输出层加权求和

输出层输入为:

z3 = h1 * v1 + h2 * v2 + b3

其中,h1h2是隐藏层的输出,v1v2是隐藏层到输出层的权重,b3是输出层偏置。


4. 输出层预测结果

输出层同样使用 Sigmoid 函数:

y_pred = sigmoid(z3)

即:

y_pred = 1 / (1 + e^(-z3))

在 Excel 中仍然可以使用:

=1/(1+EXP(-单元格))

最终得到模型的预测输出y_pred


五、损失函数计算

为了衡量预测值和真实值之间的误差,本文采用平方误差损失函数:

Loss = 1/2 * (y_pred - y)^2

其中:

  • y_pred表示模型预测值
  • y表示真实标签
  • Loss表示损失值

在 Excel 中可以写成:

=0.5*(预测值单元格-真实值单元格)^2

损失值越小,说明模型预测结果越接近真实值。


六、反向传播计算过程

前向传播得到预测值和损失后,需要通过反向传播计算各参数的梯度,并利用梯度下降更新参数。

1. 输出层误差项

由于输出层使用 Sigmoid 激活函数,因此输出层误差项为:

δ3 = (y_pred - y) * y_pred * (1 - y_pred)

其中,y_pred * (1 - y_pred)是 Sigmoid 函数的导数。


2. 输出层权重梯度

输出层权重v1v2的梯度分别为:

∂Loss/∂v1 = δ3 * h1 ∂Loss/∂v2 = δ3 * h2

输出层偏置的梯度为:

∂Loss/∂b3 = δ3

3. 隐藏层误差项

隐藏层误差需要由输出层误差反向传播得到。

隐藏层第一个神经元的误差项为:

δ1 = δ3 * v1 * h1 * (1 - h1)

隐藏层第二个神经元的误差项为:

δ2 = δ3 * v2 * h2 * (1 - h2)

4. 输入层到隐藏层权重梯度

输入层到隐藏层的权重梯度如下:

∂Loss/∂w11 = δ1 * x1 ∂Loss/∂w21 = δ1 * x2 ∂Loss/∂w12 = δ2 * x1 ∂Loss/∂w22 = δ2 * x2

隐藏层偏置梯度为:

∂Loss/∂b1 = δ1 ∂Loss/∂b2 = δ2

七、参数更新过程

本文采用梯度下降法更新参数。参数更新公式为:

新参数 = 原参数 - 学习率 * 梯度

例如,输出层权重v1的更新过程为:

v1_new = v1 - η * ∂Loss/∂v1

输入层到隐藏层权重w11的更新过程为:

w11_new = w11 - η * ∂Loss/∂w11

其他权重和偏置也按照相同方式进行更新。

在 Excel 中,可以通过单元格公式完成参数更新,例如:

=旧权重单元格 - 学习率单元格 * 梯度单元格

这样,Excel 就能够完整展示一次 MLP 的前向传播、损失计算、反向传播和参数更新过程。


八、Excel 文件设计说明

本次作业的 Excel 文件主要包括以下几个部分:

1. 参数设置表

用于存放输入数据、目标值、学习率、初始权重和偏置。

2. 前向传播计算表

展示隐藏层加权求和、隐藏层激活输出、输出层加权求和以及最终预测值。

3. 损失函数计算表

展示预测值与真实值之间的误差,并计算平方误差损失。

4. 反向传播计算表

展示输出层误差项、隐藏层误差项以及各个参数对应的梯度。

5. 参数更新表

根据学习率和梯度计算更新后的权重与偏置。

通过这些表格,可以清晰地看到 MLP 每一步的计算结果和公式来源。


九、实验总结

通过本次实验,我使用 Excel 展示了一个简单 MLP 神经网络的完整计算过程。相比直接使用 Python 编程实现,Excel 表格能够更加直观地展示每个中间变量的计算过程,例如隐藏层输入、激活输出、预测结果、损失值、梯度以及参数更新结果。

本次实验加深了我对 MLP 神经网络工作原理的理解。MLP 的核心过程主要包括前向传播、损失计算、反向传播和参数更新。其中,前向传播用于得到预测结果,损失函数用于衡量预测误差,反向传播用于计算参数梯度,梯度下降用于不断优化模型参数。

通过 Excel 的公式计算,可以清楚地看到神经网络并不是一个“黑箱”,而是由大量矩阵运算、激活函数和梯度计算组成的数学模型。


十、附件说明

本文对应的 Excel 文件已经展示了 MLP 的完整计算过程,包括参数初始化、前向传播、损失计算、反向传播和参数更新。

http://www.zskr.cn/news/1356257.html

相关文章:

  • 长春钢结构厂家实测评测:从材质到售后的全维度对比 - 奔跑123
  • ComfyUI-FramePackWrapper:8GB显存也能生成高清视频的终极指南
  • 小微商户如何科学进货?销量预测方法与库存积压问题系统解析
  • PyTorch 动态量化(Dynamic Quantization)
  • 架构设计方法(5)属性驱动架构设计ADD方法
  • 2026年上海优创智家推荐,专业公司推荐榜TOP1 - 速递信息
  • 三分钟掌握Translumo:Windows平台终极实时屏幕翻译指南
  • 网络资源下载神器:res-downloader全方位使用指南
  • 5步快速上手Ryujinx:免费在电脑畅玩Switch游戏的终极指南
  • 对话中断率超38%?紧急预警:当前92%的AI客服Agent正因缺乏实时情绪感知层而持续流失高价值客户
  • 为什么你的WHERE条件总被Claude重写?解析其基于统计直方图的谓词推导算法(含PostgreSQL/MySQL双平台验证数据)
  • ncmdump完整指南:3分钟解锁网易云音乐NCM文件,实现音乐自由播放
  • 为什么头部科技公司集体弃用Workday转向Lindy?——基于14家客户迁移数据的自动化人效拐点分析
  • 杰理之蓝牙测试盒升级无法维持IO【篇】
  • 众智商学院六西格玛项目介绍 - 众智商学院官方
  • 如何快速掌握戴森球计划蓝图库:新手到专家的完整工厂构建指南
  • GitHub故障频发、安全漏洞暴露、管理层大换血,微软重金收购的代码仓库还留得住开发者吗?
  • 【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
  • Pandoc文档转换工具:从格式混乱到文档自由的工作流革命
  • res-downloader终极配置指南:轻松实现跨平台资源嗅探与下载
  • ASP.NET Core 分层设计实践拒绝胖Controller
  • 5分钟快速上手:Akagi麻将AI助手完整实战指南
  • Cursor Free VIP终极指南:5步实现AI编程助手永久免费使用
  • 3步掌握AI图像分层:零基础快速入门指南
  • 在电脑上免费畅玩Switch游戏:Ryujinx模拟器终极完整指南
  • 如何在电脑上免费畅玩Switch游戏:Ryujinx模拟器完全指南
  • HLOC (Hierarchical-Localization) 技术文档
  • 深度解析:基于PyTorch的100行代码实现扩散模型核心技术
  • TryOPC社区平台
  • M3U8下载器终极指南:三步搞定加密视频下载,告别在线观看限制!