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

反向传播算法的偏置更新步骤

偏置的更新步骤

假设我们有一个三层神经网络(输入层、隐藏层和输出层),并且每层的激活函数为 sigmoid 函数。我们需要更新隐藏层和输出层的偏置。以下是详细的步骤:

1. 计算误差项(Error Term)

输出层的误差项

对于输出层的第 l 个神经元,其误差项 \delta_l^{(2)} 为: \delta_l^{(2)} = (\hat{y}_l - y_l) \hat{y}_l (1 - \hat{y}_l)

其中:

  • \hat{y}_l是预测输出

  • y_l是真实输出

隐藏层的误差项

对于隐藏层的第 j 个神经元,其误差项 \delta_j^{(1)} 为:

\delta_j^{(1)} = \left( \sum_{l=1}^k \delta_l^{(2)} W_{lj}^{(2)} \right) h_j (1 - h_j) 

其中:

  • W_{lj}^{(2)}是从隐藏层到输出层的权重

  • h_j 是隐藏层的输出

2. 更新偏置

使用误差项来更新偏置。根据梯度下降法,对每个偏置进行更新:

输出层的偏置更新

b_l^{(2)} \leftarrow b_l^{(2)} - \eta \delta_l^{(2)}

其中:

  • η 是学习率

隐藏层的偏置更新

b_j^{(1)} \leftarrow b_j^{(1)} - \eta \delta_j^{(1)}

3. 更新权重

同样地,误差项也用于更新权重:

隐藏层到输出层的权重更新

W_{lj}^{(2)} \leftarrow W_{lj}^{(2)} - \eta \delta_l^{(2)} h_j

输入层到隐藏层的权重更新

W_{ji}^{(1)} \leftarrow W_{ji}^{(1)} - \eta \delta_j^{(1)} x_i

http://www.lryc.cn/news/515117.html

相关文章:

  • 条款47:请使用 traits classes 表现类型信息(Use traits classes for information about types)
  • yolov5和yolov8的区别
  • Redis 实现分布式锁
  • django StreamingHttpResponse fetchEventSource实现前后端流试返回数据并接收数据的完整详细过程
  • SpringSpringBoot常用注解总结
  • 24.小R的随机播放顺序<字节青训营-中等题>
  • 【QT】增删改查 XML 文件的类
  • Linux-掉电保护方案
  • php获取字符串中的汉字
  • java: JDK isn‘t specified for module ‘product-service‘问题解决
  • 使用工厂+策略模式实现去除繁琐的if else
  • Dubbo3入门项目搭建
  • 形象地理解UE4中的数据结构 TLinkedListBase
  • Python自然语言处理利器:SnowNLP模块深度解析、安装指南与实战案例
  • Llama系列关键知识总结
  • 【开源】创建自动签到系统—QD框架
  • ​​​​​​​CDP集群安全指南系列文章导读
  • MT8788安卓核心板_MTK8788核心板参数_联发科模块定制开发
  • 【微软,模型规模】模型参数规模泄露:理解大型语言模型的参数量级
  • 深入理解并发原子性、可见性、有序性与JMM内存模型
  • 电商项目-数据同步解决方案(四)商品下架同步更新ES索引库数据
  • vue学习第一阶段
  • React虚拟DOM:理解和应用
  • 用python编写一个放烟花的小程序
  • Git 仓库与文件管理笔记
  • 2024 年 docker 提示index.docker.io
  • TCP粘/拆包----自定义消息协议
  • Modbus知识详解
  • Java-创建一个结合CompletableFuture和自定义功能的工具类
  • 【MATLAB第111期】基于MATLAB的sobol全局敏感性分析方法二阶指数计算