BP算法简单推导过程
在这里想到你已经了解了神经网络的基本过程,就输入层,隐含层,输出层基本思路,然后按下图最简单的推导过程,以一个输出OP来简单介绍。
1.前向传播
w是权重,b是偏置项 输入到隐含
同理
隐含到输出
这里采用sigmoid激活函数(非线性)
有个特性是他的导数为:
输出层
计算误差,采取平方差
反向传播,利用梯度下降算法最小化损失函数的过程,主要采取链式求导,这里以为举例
下次更新Wh1这个参数的时候就可以:
同理可以更新其他权重和偏置项。
算法的改进:这里主要考虑会发生局部最优,也就是不是标准的凸函数。
增加冲量项:主要思想在于让第n次迭代时的权值的更新部分依赖于第n-1次的权值。
更新量加冲量有:
其中0<= a<1,加入冲量项在一定程度上起到加大搜索步长的效果,从而能更快的进行收敛。另一方面,由于多层网络易导致损失函数收敛到局部极小值,但通过冲量项在某种程度上可以越过某些狭窄的局部极小值,达到更小的地方。
上述介绍只有简单的三层,所以方便理解。
至于加入激活函数,是用来加入非线性因素的,因为线性模型的表达能力不够。
当然经常用的是ReLU激活函数
ReLU处理了它的sigmoid、tanh中常见的梯度消失问题,同时也是计算梯度最快的激励函数。
对于反向传播算法主要从以下几个方面进行总结:
1)局部极小值
对于多层网络,误差曲面可能含有多个不同的局部极小值,梯度下降可能导致陷入局部极小值。缓解局部极小值的方法主要有增加冲量项,使用随机梯度下降,多次使用不同的初始权值训练网络等。
2)权值过多
当隐藏节点越多,层数越多时,权值成倍的增长。权值的增长意味着对应的空间的维数越高,过高的维数易导致训练后期的过拟合。
3)过拟合
当网络的训练次数过多时,可能会出现过拟合的情况。解决过拟合主要两种方法:一种是使用权值衰减的方式,即每次迭代过程中以某个较小的因子降低每个权值;另一种方法就是使用验证集的方式来找出使得验证集误差最小的权值,对训练集较小时可以使用交叉验证等。
手写数学公式真的好累啊,但是很实用,这里给出编写地址:https://github.com/KaTeX/KaTeX
参考网址:
https://www.zhihu.com/question/22334626/answer/21036590
https://www.cnblogs.com/liuwu265/p/4696388.html
BP算法简单推导过程相关推荐
- 深度学习中反向传播算法简单推导笔记
反向传播算法简单推导笔记 1.全连接神经网络 该结构的前向传播可以写成: z(1)=W(1)x+b(1)z^{(1)} = W^{(1)}x+b^{(1)}z(1)=W(1)x+b(1) a(1)=σ ...
- 神经网络中BP算法的推导
神经网络BP算法的推导 有关BP算法推导的文章数不胜数,但是好多只讲到了单样本的BP算法的推导,有些虽然讲到了多样本的BP算法的推导,但是没讲清楚甚至是讲错了的都有一些. 1. 单样本BP算法推导 关 ...
- lasso,lars算法详细推导过程-数学
首发于程序员的伪文艺 关注专栏写文章 从Lasso开始说起 李新春 既可提刀立码,行遍天下:又可调参炼丹,卧于隆中. 关注他 317 人赞同了该文章 Lasso是Least Absolute Shr ...
- 多模型算法理论推导过程
多模型估计方法概述 第一次用markdown写东西,先试试水 由于目标机动状态或者系统模式不确定,用单个模型往往不足以描述目标运动.一种更为合理和强大的描述方法为混杂系统表述,包括两个部分:一个连 ...
- 雷达方程中Pr与cosα/R2成正比的简单推导过程
我们知道简单散射实体一次散射的雷达方程原始公式为: Pr=PtD24πR4βt2σηatmηsysP_{r}=\frac{P_{t}D^{2}}{4\pi R^{4}\beta_{t}^{2}}\si ...
- 深度学习(一)——MP神经元模型, BP算法, 神经元激活函数, Dropout
https://antkillerfarm.github.io/ 前言 神经网络本质上不是什么新东西.十年前,我还在上学的时候,就接触过皮毛.然而那时这玩意更多的还是学术界的屠龙之术,工业界几乎没有涉 ...
- bp算法运行太慢_神经网络,BP算法的理解与推导
原创,转载请注明出处. (常规字母代表标量,粗体字母代表向量,大写粗体字母代表矩阵) 这里假设你已经知道了神经网络的基本概念,并且最好看过BP算法. 可能你没有看懂,或者你跟我一样被各种公式搞晕了.尤 ...
- BP算法:原理推导数据演示项目实战1(转)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fendouaini/article/details/79789440 </div>< ...
- 机器学习必刷题-手撕推导篇(2):BP算法推导
本系列文章对常见的机器学习面试题进行了搜集.分类和整理,主要包括"手撕推导篇"."模型比较篇"."工程经验篇"以及"基础概念篇&q ...
- DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略
DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释).案例应用之详细攻略 相关文章:DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类 ...
最新文章
- 敏捷项目管理工具实践
- Python 输入与输出
- 浅谈SAP CRM开发——技术概念、与ECC 系列产品区别
- 34.11. 视图、存储过程、函数
- iOS 添加导航栏两侧按钮
- 【ZOJ - 3956】Course Selection System(01背包)
- 北理计算机教案,北理工版三年级信息技术教案重点.docx
- Struts2源码阅读(五)_FilterDispatcher核心控制器
- GMaps.js:让你快速集成 Google Maps 服务的 jQuery 插件
- 媒体查询-响应式布局-BFC
- 今日头条笔试面试大全
- NBA球员数据的爬取
- 飞鱼星路由器如何限制外网访问服务器网站,飞鱼星路由器如何限制禁止指定IP上网...
- 基于MDKA5D31-EK_T70开发板的QT示例-demo09:LM75A温度曲线
- Ruijie(RGOS 11.X)忘记登录密码console口恢复密码
- Mi_Smart_Band_6(小米手环6)心跳数值PC显示
- 单片机反相器_AVR单片机在工业控制系统中的应用
- mysql查询1万条数据要1秒钟_SQL查询效率:100万数据查询只需要1秒钟
- arduino/Mixly使用HTU21D温湿度传感器
- Java基础综合习题(二)
热门文章
- uniapp 在HBuilder X中配置微信小程序开发工具
- 昵图网源码php,【PHP】仿我图,千图,昵图网素材下载,素材销售平台最新宽屏商业版:含新版vip会员中心,全开源...
- Modown v4.11+Erphpdown10.01资源付费下载插件
- mysql 查看环境变量_MySQL的环境变量
- 软件工程毕业答辩常问的问题
- 成功解决生意参谋中transit-id和加密数据date
- 详解VMware虚拟机中添加新硬盘并挂载的方法
- sip协议详解_基于SIP协议的媒体录音规范12个应用场景-SIPREC/RFC6341详解
- IBM SPSS Modeler简单案例
- CV面试题(持续更新!!!)