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

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

偏置的更新步骤

假设我们有一个三层神经网络(输入层、隐藏层和输出层),并且每层的激活函数为 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.kler.cn/a/465437.html

相关文章:

  • Lombok @Data无法 import 导入的问题解决办法
  • lec7-路由与路由器
  • (四)基于STM32通过Event Recoder实现时间测量功能
  • 无刷直流电机(BLDC)六步换向法
  • 《Swift 结构体》
  • 大白话拆解——多线程中关于死锁的一切(七)(已完结)
  • Windows系统下载、部署Node.js与npm环境的方法
  • CDP集群安全指南-动态数据加密
  • 咖啡馆系统|Java|SSM|JSP|
  • df.groupby([pd.Grouper(freq=‘1M‘, key=‘Date‘), ‘Buyer‘]).sum()
  • Java 应用程序CPU 100%问题排查优化实战
  • Git 树形图表不显示问题
  • 大数据职业技能资源分享
  • 设计模式 结构型 代理模式(Proxy Pattern)与 常见技术框架应用 解析
  • GROUP BY 的目的是将数据按照指定的列进行分组,然后对每个分组进行聚合计算,分组后,每个分组只会返回一行结果。
  • Python 3 与 Python 2 的主要区别
  • 微服务之服务治理——Eureka
  • python-leetcode-买卖股票的最佳时机 II
  • 基于XGBoost算法的集成学习
  • linux网络管理
  • 特征值描述了系统的固有频率平方,而特征向量描述了系统的振动模式
  • throw与noexcept对比
  • AI赋能跨境电商:魔珐科技3D数字人破解出海痛点
  • Flutter面试题、Dart面试题
  • SQL基础应用
  • javaEE-网络原理-1初识