PS:要转载请注明出处,本人版权所有。

PS: 这个只是基于《我自己》的理解,

如果和你的原则及想法相冲突,请谅解,勿喷。

前置说明

  本文作为本人csdn blog的主站的备份。(BlogID=054)

  本文发布于 2018-02-08 15:15:00,现用MarkDown+图床做备份更新。blog原图已丢失,使用csdn所存的图进行更新。(BlogID=054)

环境说明

  无

前言


  • 模型:就是一个函数G(I1,I2,...,In),此函数的作用就是给定In(输入数据),就能够得到函数的值(打分)。
  • 损失函数:E(w1,w2,...,wn,b1...bn),此函数是由此网络中所有的权重为变量构成的。此函数的作用是描述在某组权重的和输入下,此网络的得分与标准值(标签)的误差。
  • 梯度:就是某变量(向量)在某方向上的变化率。
  • 网络训练过程:而在网络训练中,目标就得把此误差减小,提高准确率。

BP 分析


  1. 对BP的一个简单例子推导过程(此过程来至于网上的一篇文章,无复杂的数学公式,注意抽象,示例图字丑,请忽略)

  假设我定义此示例网络为:

  1. 定义前向推导为:
  1. 定义此网络的损失函数E为(也可以说是误差函数):
  1. 对权重W5,求其相对于E的偏导,过程如下:
  1. 对权重W1,求其相对于E的偏导,过程如下:

  当我们得到dE/dW1,dE/dW2 .... dE/dW8 ,dE/db1,dE/db2这些的值后,我们就可以更新这些参数,让E的输出更小,准确度越高。

  定义原参数为Po,定义更新参数为Pn,定义学习率为m,则参数更新过程为:

Pn = Po - m*dE/dPo

  经过多次迭代后,E会越来越小,模型准确率越来越高。

后记


  提示:个人认为对于一些数学原理相关的,还是动手自己推导一次,这样比单单看理解的快和深刻一点。这种方式非常适合我这种笨鸟。

参考文献


打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)

PS: 请尊重原创,不喜勿喷。

PS: 要转载请注明出处,本人版权所有。

PS: 有问题请留言,看到后我会第一时间回复。

菜鸟角度简单分析BP算法(Error Back Propagation)的更多相关文章

  1. 多层神经网络BP算法 原理及推导

    首先什么是人工神经网络?简单来说就是将单个感知器作为一个神经网络节点,然后用此类节点组成一个层次网络结构,我们称此网络即为人工神经网络(本人自己的理解).当网络的层次大于等于3层(输入层+隐藏层(大于 ...

  2. 误差逆传播(error BackPropagation, BP)算法推导及向量化表示

    1.前言 看完讲卷积神经网络基础讲得非常好的cs231后总感觉不过瘾,主要原因在于虽然知道了卷积神经网络的计算过程和基本结构,但还是无法透彻理解卷积神经网络的学习过程.于是找来了进阶的教材Notes ...

  3. (转)神经网络和深度学习简史(第一部分):从感知机到BP算法

    深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...

  4. stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)

    在这篇文章中,会实现一个BP(backpropagation)算法,并将之应用到手写的阿拉伯数字(0-9)的自动识别上. 训练数据集(training set)如下:一共有5000个训练实例(trai ...

  5. 关于BP算法在DNN中本质问题的几点随笔 [原创 by 白明] 微信号matthew-bai

       随着deep learning的火爆,神经网络(NN)被大家广泛研究使用.但是大部分RD对BP在NN中本质不甚清楚,对于为什这么使用以及国外大牛们是什么原因会想到用dropout/sigmoid ...

  6. BP算法从原理到python实现

    BP算法从原理到实践 反向传播算法Backpropagation的python实现 觉得有用的话,欢迎一起讨论相互学习~Follow Me 博主接触深度学习已经一段时间,近期在与别人进行讨论时,发现自 ...

  7. 如何高效的通过BP算法来训练CNN

    < Neural Networks Tricks of the Trade.2nd>这本书是收录了1998-2012年在NN上面的一些技巧.原理.算法性文章,对于初学者或者是正在学习NN的 ...

  8. 深度学习之BP算法

    1.介绍 人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是在现代生物学研究人脑组织所取得成果的基础上提出来的.人工神经网络是大脑生物结构的数学建模,有 ...

  9. Backpropagation反向传播算法(BP算法)

    1.Summary: Apply the chain rule to compute the gradient of the loss function with respect to the inp ...

  10. 多层感知机及其BP算法(Multi-Layer Perception)

    Deep Learning 近年来在各个领域都取得了 state-of-the-art 的效果,对于原始未加工且单独不可解释的特征尤为有效,传统的方法依赖手工选取特征,而 Neural Network ...

随机推荐

  1. P10009 [集训队互测 2022] 线段树 题解

    题目链接:P10009 [集训队互测 2022] 线段树 神仙分块题,先给一下出题人的神仙官解: 官解链接 前面还看得懂.后面是啥?这不是 ds 题咋和 dp.轮廓线扯上关系了.看了半天,还是这个启发 ...

  2. 错误解决:ElasticSearch SearchResponse的Hits[]总是比totalHits少一条记录

    在做ElasticSearch查询操作的时候,发现Hits[].length总是比totalHits.value少1.代码如下: SearchRequest request = new SearchR ...

  3. 程序语言多态(overide) - delphi 版本

    程序语言多态 - delphi 版本 前言: 所有程序语言都差不多,特写一篇 delphi 版本 的多态:其它语言 类同. 都是一些别人规定的语法而已,别人用一个下午设计一门语言,愚弄天下程序员一生: ...

  4. CentOS7.6离线升级docker20

    本周研发反馈系统升级失败,是因为docker版本太低,需要升级docker20.由于安装系统的服务器没有联网,所以无法在线升级.所以我找了一台联网的CentOS7.6的服务器,下载了docker20和 ...

  5. react 新旧生命周期有什么区别?新增了哪些钩子?废弃了哪些钩子?为什么废弃?

    壹 ❀ 引 在日常面试中,若对于了解react的同学而言,多多少少会被问到生命周期相关的问题,比如大致阐述生命周期的运作流程,以及每个钩子函数大致的作用,而我在两位出去面试的同事那里了解到,他们都遇到 ...

  6. Slot 的含义

    Slot 解释 1)slot就是槽的意思,是一个资源单位,只有给task分配了一个slot之后,这个task才可以运行.slot分两种,map slot沪蓉reduce slot.另外,slot是一个 ...

  7. 大数运算(BigInteger)与进制转换

    1 前言 Java 提供了 BigInteger(大整数)类和 BigDecimal(大浮点数)类用于大数运算,这两个类都继承自 Number 类(抽象类).由于 BigInteger 在大数运算中更 ...

  8. 用ELK分析每天4亿多条腾讯云MySQL审计日志(1)--解决过程

    前言:      该文章将会介绍以下: 1,快速分析SQL日志的几种方法 2,使用mysql的全文索引快速分析少量SQL审计 3,准确快速分析4亿多条审计SQL日志(过程和最终解决方案) 公司核心库拆 ...

  9. dd命令创建文件

    dd if=... of=... bs=... count=... if表示输入文件,of表示输出文件,bs默认指定了以字节为单位的块大小(单位有字节c,字w,块B,千字节m,兆字节m,吉字节G),c ...

  10. 【补档_C51单片机】基于C51的蜂鸣器音乐盒工程源码解析(可播放《打上花火》)

    项目地址:https://gitee.com/daycen/c51-music-box 通过Keil uVision3打开即可使用 以前做的一些小硬件,现补档至博客 1 功能及总体方案 1.1 功能描 ...