手推机器学习公式(一) —— BP 反向传播算法
方便起见,本文仅以三层的神经网络举例。
- 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=\frac12(\vec d-\vec o)^2=\frac12\sum_{k=1}^\ell\left(d_k-o_k\right)^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}
进一步展开至输入层:
\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 反向传播算法相关推荐
- 通俗理解神经网络BP反向传播算法
转载自 通俗理解神经网络BP反向传播算法 通俗理解神经网络BP反向传播算法 在学习深度学习相关知识,无疑都是从神经网络开始入手,在神经网络对参数的学习算法bp算法,接触了很多次,每一次查找资料学习 ...
- [AI 笔记] BP反向传播算法
[AI 笔记] BP反向传播算法 说明 BP算法 链式法则 计算图 简单例子 前向传播 反向传播 聚焦计算节点,深入理解 计算节点的代码实现 例子 各种门的功能 多元链式法则 向量化BP算法 参考资料 ...
- BP反向传播算法的思考和直观理解 -卷积小白的随机世界
https://www.toutiao.com/a6690831921246634504/ 2019-05-14 18:47:24 本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积 ...
- 使用随机梯度下降SGD的BP反向传播算法的PyTorch代码实现
Index 目录索引 写在前面 PyTorch的 .data() PyTorch的 .item() BP with SGD的PyTorch代码实现 参考文章 写在前面 本文将用一个完整的例子,借助Py ...
- 脱离公式谈谈对反向传播算法的理解
机器学习的训练过程可看作是最优化问题的求解过程. 根据原理 对于函数f(x),如果f(x)在点xt附近是连续可微的,那么f(x)下降最快的方向是f(x)在xt点的梯度的反方向 得到最简单最常用的优化算 ...
- 【机器学习笔记】神经网络反向传播算法 推导
神经网络反向传播算法 推导 (一) 概念及基本思想 (二)信息的前向传播 (三)误差反向传播 (1)输出层的权重参数更新 (2)隐藏层的权重参数更新 (3)输出层与隐藏层的偏置参数更新 (4)反向传播 ...
- BP反向传播算法浅谈(Error Back-propagation)
最近在打基础,大致都和向量有关,从比较基础的人工智能常用算法开始,以下是对BP算法研究的一个小节. 本文只是自我思路的整理,其中举了个例子,已经对一些难懂的地方做了解释,有兴趣恰好学到人工智能对这块 ...
- 反向传播算法的理论基础,反向传播算法应用
如何理解神经网络里面的反向传播算法 反向传播算法(Backpropagation)是目前用来训练人工神经网络(ArtificialNeuralNetwork,ANN)的最常用且最有效的算法. 其主要思 ...
- 梯度的直观理解_BP反向传播算法的思考和直观理解 -卷积小白的随机世界
本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积层反向传播算法的理解中,越发觉得之前对于BP反向传播算法的理解是不到位的.小白近日觉得,对于深度神经网络,"反向传播&qu ...
最新文章
- android studio 的中文网站
- c++静态成员函数好处
- 【廖雪峰python入门笔记】set
- ORACLE告警日志
- 网站被降权后该进行检查哪些问题?
- Access转Sql Server问题
- fileinputstream resources 读取文件_压缩20M文件从30秒到1秒,包教包会
- centos7 python3安装numpy_centos下pip3安装numpy
- linux 带ifdef运行程序_如何让linux的一段程序代码进入内核态运行
- kafka tool报错:Error fetching datea.Offset out of range
- 华为Y9s海外官网上架:升降式全面屏+侧面指纹识别
- 失去健康代表失去一切
- 问题:document.documentElement与document.body的区别
- 《机器视觉算法与应用》第3章 机器视觉算法之数据结构——学习笔记
- macOS 开发 - Command Line Tool 命令行工具
- git 小乌龟代码回退
- 怎么转换kux格式?教你把优酷的kux格式转换成avi
- aptana php,aptana 3 + xdebug php
- Linux相关命令(三)
- 工作室多wifi软路由工作室Ros软路由使用教程
热门文章
- 网游Server端开发基础
- arduino eeg脑电模块_应用深度学习EEGNet来处理脑电信号
- yarn logs -applicationId 无法导出logs日志 Log aggregation has not completed or is not enabled.
- 转码服务器 作用,转码服务器工作原理介绍.pdf
- mysql 客房_mysql – 酒店客房预订系统的数据库设计
- linux文件服务有哪些,linux有哪些文件系统?_网站服务器运行维护,linux
- vue状态管理存取数据_Vue中的数据通信和状态管理
- python爱心代码_母亲节快到了,用Python给老妈写个祝福小程序吧~
- 机器学习Scikit-Learn模块详解
- Shell.NavBarIsVisible=“false“