位置: IT常识 - 正文

BP神经网络的梯度公式推导(三层结构)(bp-神经网络)

编辑:rootadmin
BP神经网络的梯度公式推导(三层结构)

推荐整理分享BP神经网络的梯度公式推导(三层结构)(bp-神经网络),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:bp神经网络的梯度是多少,bp神经网络梯度下降,bp神经网络的梯度,bp神经网络的梯度下降法,bp神经网络梯度下降,bp神经网络的梯度是多少,bp神经网络的梯度是什么,bp神经网络的梯度,内容如对您有帮助,希望把文章链接给更多的朋友!

本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com

目录

一. 推导目标

1.1 梯度公式目标 

1.2 本文梯度公式目标

二. 网络表达式梳理

2.1 梳理三层BP神经网络的网络表达式

三. 三层BP神经网络梯度推导过程

3.1 简化推导目标

3.2 输出层权重的梯度推导

3.3 输出层阈值的梯度推导

3.4隐层权重的梯度推导

 3.5 隐层阈值的梯度推导

四. 推导结果总结

4.1 三层BP神经网络梯度公式


BP神经网络的训练算法基本都涉及到梯度公式,

本文提供三层BP神经网络的梯度公式和推导过程

一. 推导目标

BP神经网络的梯度推导是个复杂活,

在推导之前 ,本节先把推导目标清晰化

1.1 梯度公式目标 

训练算法很多,但各种训练算法一般都需要用到各个待求参数(w,b)在损失函数中的梯度, 因此求出w,b在损失函数中的梯度就成为了BP神经网络必不可少的一环,

求梯度公式,即求以下误差函数E对各个w,b的偏导:

代表网络对第m个样本第k个输出的预测值,w,b就隐含在中

1.2 本文梯度公式目标

虽然梯度只是简单地求E对w,b的偏导,但E中包含网络的表达式f(x),就变得非常庞大, 求偏导就成了极度艰巨晦涩的苦力活,对多层结构通式的梯度推导稍为抽象, 本文不妨以最常用的三层结构作为具体例子入手,求出三层结构的梯度公式  即:输入层-隐层-输出层 (隐层传递函数为tansig,输出层传递函数为purelin)

虽然只是三层的BP神经网络,

但梯度公式的推导,仍然不仅是一个体力活,还是一个细致活,

且让我们细细一步一步慢慢来

二. 网络表达式梳理

在损失函数E中包括了网络表达式,在求梯度之前,

先将表达式的梳理清晰,有助于后面的推导

2.1 梳理三层BP神经网络的网络表达式

网络表达式的参考形式 隐层传递函数为tansig,输出层传递函数为purelin的三层BP神经网络, 有形如下式的数学表达式  

网络表达式的通用矩阵形式  写成通用的矩阵形式为

这里的为矩阵,和为向量, 上标(o)和(h)分别代表输出层(out)和隐层(hide),

例如,2输入,4隐节点,2输出的BP神经网络可以图解如下:

 

三. 三层BP神经网络梯度推导过程

本节我们具体推导误差函数对每一个待求参数w,b的梯度

3.1 简化推导目标

由于E的表达式较为复杂,  不妨先将问题转化为"求单样本梯度"来简化推导表达式  对于任何一个需要求偏导的待求参数w,都有:

BP神经网络的梯度公式推导(三层结构)(bp-神经网络)

即损失函数的梯度,等于单个样本的损失函数的梯度之和(E对b的梯度也如此), 因此,我们先推导单个样本的梯度,最后再对单样本梯度求和即可。 现在问题简化为求

3.2 输出层权重的梯度推导

输出层权重梯度推导 输出层的权重为"输出个数*隐节点个数"的矩阵, 现推导任意一个权重wji (即连接第i个隐层与第j个输出的权重)的单样本梯度 如下: 事实上,只有第j个输出是关于 的函数,也即对于其它输出  因此,  上式即等于

继续求导是第j个输出的误差,简记为                      是第j个隐节点的激活值,简记为(A即Active)

上式即可写为             

上述是单样本的梯度, 整体样本的梯度则应记为 

 M,K为样本个数、输出个数                                         是第m个样本第j个输出的误差      是第m个样本第i个隐节点的激活值    

3.3 输出层阈值的梯度推导

输出层阈值梯度推导 对于阈值(第j个输出节点的阈值)的推导与权重梯度的推导是类似的, 只是上述标蓝部分应改为

简记为

上述是单样本的梯度, 整体样本的梯度则应记为   M,K为样本个数、输出个数                ​是第m个样本第j个输出的误差      

3.4隐层权重的梯度推导

隐层的权重为"隐节点个数*输入个数"的矩阵, 现推导任意一个权重(即连接第i个输入与第j个隐节点的权重)的单样本梯度 如下:

只有第j个tansig是关于 的函数,所以上式可以写成

 

继续求导    

又由 所以上式为: 简写为

上述是单样本的梯度,对整体样本则有:  M,KM,K为样本个数、输出个数                                              ​是第m个样本第k个输出的误差        是第m个样本第i个隐节点的激活值           ​是第m个样本第i个输入                                                  

 3.5 隐层阈值的梯度推导

隐层阈值梯度推导 对于阈值b_\textbf{j}^{(h)}  ​(第j个隐节点的阈值)的推导与隐层权重梯度的推导是类似的, 只是蓝色部分应改为

又由 所以上式为: 简写为

上述是单样本的梯度,对整体样本则有:  M,K为样本个数、输出个数                                              是第m个样本第k个输出的误差        是第m个样本第i个隐节点的激活值         

四. 推导结果总结4.1 三层BP神经网络梯度公式

输出层梯度公式 输出层权重梯度:                         输出层阈值梯度:                                             

隐层梯度公式 隐层权重梯度:  隐层阈值梯度:       

✍️符号说明  M,K为样本个数、输出个数                                               是第m个样本第k个输出的误差        ​是第m个样本第i个隐节点的激活值           是第m个样本第i个输入                                                  

 相关文章

​《BP神经网络梯度推导》

​​​​​​《BP神经网络提取的数学表达式》

《一个BP的完整建模流程》

本文链接地址:https://www.jiuchutong.com/zhishi/299419.html 转载请保留说明!

上一篇:【Java编程指南】方法(java编程入门基础教程)

下一篇:朴素贝叶斯(Naive Bayes)详解(朴素贝叶斯算法)

  • 合同履约成本资本化
  • 增值税属于哪个部门
  • 增值税一般纳税人税率
  • 主营业务收入体现在资产负债表哪里
  • 注册资本为0的企业
  • 购进生产设备的会计分录
  • 什么情况下要交个人所得纳税
  • 备用金为什么会变少
  • 出口货物是否属于存货
  • 应付账款是负数怎么回事
  • 提取公积金收费比例
  • 享受所得税减免优惠的生产性外商投资企业包括
  • 业务宣传费超出部分以后年度怎样处理
  • 如果公司没有报税
  • 防暑降温列支什么费用
  • 企业可以用当月的进项票抵扣上月的销项吗?
  • 财政收据可以抵税吗
  • 民间非营利组织财务报表
  • 办理环评费用
  • 计提法定盈余公积分录并结转
  • 二手电脑怎么激活windows10
  • 企业安全库存是什么
  • 会计科目按经济类型分类
  • 小规模纳税人月收入超过10万,要交多少税
  • perl.exe是什么程序?
  • 货物运输业增值税专用发票可以抵扣吗
  • 存货的毁损通过什么科目核算
  • 期间费用计入产品成本的费用吗
  • 增值税发票支票号
  • docker-p
  • 票折怎么操作
  • 股份有限公司都是私企吗
  • php设置标题
  • 企业应收是什么意思
  • 企业收到工程款会计分录
  • 织梦标签理解
  • 安置房是交付的时候交钱吗
  • 个人去税务局开劳务发票要交多少税
  • 无形资产的摊销年限及摊销方法
  • 公司人身意外保险多少钱
  • 职工薪酬实际发生额忘记填会有风险吗
  • 股东所有者权益负数
  • 亏损企业对外捐赠的税前扣除
  • 出租周转材料的租金会计科目
  • 电子商务中流量的定义
  • 单式记账法缺点是什么
  • 贷款转入账号
  • 印花税的计税依据及税率
  • 小规模纳税人免税政策
  • 基本工资和什么挂钩
  • 进项发票可以退税吗
  • 非流动资产基金对应的新科目
  • 购入汽车属于什么会计科目
  • 锅炉设备销售
  • 销项税红字发票如何做账
  • 买别人的银行卡是啥罪
  • 税法规定固定资产最低折旧年限
  • windows mysql1045
  • u盘启动怎么制作 u极速一键制作u盘启动图文教程
  • ubuntu火狐浏览器怎么改成中文
  • 创建svn库
  • bios和cmos的区别和联系
  • mac安装mysql详细教程
  • bd是什么文件
  • 电脑界面显示windows
  • mac怎么更换用户名和密码
  • win10如何删除pin登录密码
  • windows更新某些设置由你的组织来管理是什么意思
  • linux解密
  • linux中退出
  • 动态创建菜单
  • android launchers
  • android的intent介绍
  • unity shader可视化编辑
  • 狗刨怎么学
  • shell脚本获取文件指定内容
  • js设计模型
  • js图片轮播和点击切换
  • jquery获取复选框是否被选中
  • 吉林省工伤保险咨询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设