方便起见,本文仅以三层的神经网络举例。

  • f(⋅)f(\cdot):表示激励函数
  • xix_i:表示输入层;
  • yjy_j:表示中间的隐层;
    • yj=f(netj)y_j=f(\text{net}_j)
    • netj=∑i=0nvijxi\text{net}_j=\sum\limits_{i=0}^n v_{ij}x_i
  • oko_k:表示输出层,dkd_k 则表示期望输出;
    • ok=f(netk)o_k=f(\text{net}_k)
    • netk=∑j=0mwjkyj\text{net}_k= \sum\limits_{j=0}^mw_{jk}y_j
  • vij,wjkv_{ij}, w_{jk} 分别是连接输入层-隐层,隐层和输出层的权值矩阵;

BP 既然称为 error back propagation 算法,我们首先来看 error 的一种常见定义:

E=12(d⃗ −o⃗ )2=12∑k=1ℓ(dk−ok)2

E=\frac12(\vec d-\vec o)^2=\frac12\sum_{k=1}^\ell\left(d_k-o_k\right)^2

三层神经网络下,将其展开至隐层:

E==12∑k=1ℓ(dk−ok)212∑k=1ℓ⎛⎝dk−f⎛⎝∑j=0mwjkyj⎞⎠⎞⎠2

\begin{split} E=&\frac12\sum_{k=1}^\ell\left(d_k-o_k\right)^2\\ =&\frac12\sum_{k=1}^\ell\left(d_k-f\left(\sum_{j=0}^mw_{jk}y_j\right)\right)^2 \end{split}

进一步展开至输入层:

E===12∑k=1ℓ(dk−ok)212∑k=1ℓ⎛⎝dk−f⎛⎝∑j=0mwjkyj⎞⎠⎞⎠212∑k=1ℓ⎛⎝dk−f⎛⎝∑j=0mwjkf(∑i=0nvijxi)⎞⎠⎞⎠2

\begin{split} E=&\frac12\sum_{k=1}^\ell\left(d_k-o_k\right)^2\\ =&\frac12\sum_{k=1}^\ell\left(d_k-f\left(\sum_{j=0}^mw_{jk}y_j\right)\right)^2\\ =&\frac12\sum_{k=1}^\ell\left(d_k-f\left(\sum_{j=0}^mw_{jk}f\left(\sum_{i=0}^nv_{ij}x_i\right)\right)\right)^2 \end{split}

手推机器学习公式(一) —— BP 反向传播算法相关推荐

  1. ​通俗理解神经网络BP反向传播算法

    转载自  ​通俗理解神经网络BP反向传播算法 通俗理解神经网络BP反向传播算法 在学习深度学习相关知识,无疑都是从神经网络开始入手,在神经网络对参数的学习算法bp算法,接触了很多次,每一次查找资料学习 ...

  2. [AI 笔记] BP反向传播算法

    [AI 笔记] BP反向传播算法 说明 BP算法 链式法则 计算图 简单例子 前向传播 反向传播 聚焦计算节点,深入理解 计算节点的代码实现 例子 各种门的功能 多元链式法则 向量化BP算法 参考资料 ...

  3. BP反向传播算法的思考和直观理解 -卷积小白的随机世界

    https://www.toutiao.com/a6690831921246634504/ 2019-05-14 18:47:24 本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积 ...

  4. 使用随机梯度下降SGD的BP反向传播算法的PyTorch代码实现

    Index 目录索引 写在前面 PyTorch的 .data() PyTorch的 .item() BP with SGD的PyTorch代码实现 参考文章 写在前面 本文将用一个完整的例子,借助Py ...

  5. 脱离公式谈谈对反向传播算法的理解

    机器学习的训练过程可看作是最优化问题的求解过程. 根据原理 对于函数f(x),如果f(x)在点xt附近是连续可微的,那么f(x)下降最快的方向是f(x)在xt点的梯度的反方向 得到最简单最常用的优化算 ...

  6. 【机器学习笔记】神经网络反向传播算法 推导

    神经网络反向传播算法 推导 (一) 概念及基本思想 (二)信息的前向传播 (三)误差反向传播 (1)输出层的权重参数更新 (2)隐藏层的权重参数更新 (3)输出层与隐藏层的偏置参数更新 (4)反向传播 ...

  7. BP反向传播算法浅谈(Error Back-propagation)

     最近在打基础,大致都和向量有关,从比较基础的人工智能常用算法开始,以下是对BP算法研究的一个小节. 本文只是自我思路的整理,其中举了个例子,已经对一些难懂的地方做了解释,有兴趣恰好学到人工智能对这块 ...

  8. 反向传播算法的理论基础,反向传播算法应用

    如何理解神经网络里面的反向传播算法 反向传播算法(Backpropagation)是目前用来训练人工神经网络(ArtificialNeuralNetwork,ANN)的最常用且最有效的算法. 其主要思 ...

  9. 梯度的直观理解_BP反向传播算法的思考和直观理解 -卷积小白的随机世界

    本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积层反向传播算法的理解中,越发觉得之前对于BP反向传播算法的理解是不到位的.小白近日觉得,对于深度神经网络,"反向传播&qu ...

最新文章

  1. android studio 的中文网站
  2. c++静态成员函数好处
  3. 【廖雪峰python入门笔记】set
  4. ORACLE告警日志
  5. 网站被降权后该进行检查哪些问题?
  6. Access转Sql Server问题
  7. fileinputstream resources 读取文件_压缩20M文件从30秒到1秒,包教包会
  8. centos7 python3安装numpy_centos下pip3安装numpy
  9. linux 带ifdef运行程序_如何让linux的一段程序代码进入内核态运行
  10. kafka tool报错:Error fetching datea.Offset out of range
  11. 华为Y9s海外官网上架:升降式全面屏+侧面指纹识别
  12. 失去健康代表失去一切
  13. 问题:document.documentElement与document.body的区别
  14. 《机器视觉算法与应用》第3章 机器视觉算法之数据结构——学习笔记
  15. macOS 开发 - Command Line Tool 命令行工具
  16. git 小乌龟代码回退
  17. 怎么转换kux格式?教你把优酷的kux格式转换成avi
  18. aptana php,aptana 3 + xdebug php
  19. Linux相关命令(三)
  20. 工作室多wifi软路由工作室Ros软路由使用教程

热门文章

  1. 网游Server端开发基础
  2. arduino eeg脑电模块_应用深度学习EEGNet来处理脑电信号
  3. yarn logs -applicationId 无法导出logs日志 Log aggregation has not completed or is not enabled.
  4. 转码服务器 作用,转码服务器工作原理介绍.pdf
  5. mysql 客房_mysql – 酒店客房预订系统的数据库设计
  6. linux文件服务有哪些,linux有哪些文件系统?_网站服务器运行维护,linux
  7. vue状态管理存取数据_Vue中的数据通信和状态管理
  8. python爱心代码_母亲节快到了,用Python给老妈写个祝福小程序吧~
  9. 机器学习Scikit-Learn模块详解
  10. Shell.NavBarIsVisible=“false“