BP算法与公式推导

2023-05-16

         BP(backpropgationalgorithm ):后向传导算法,顾名思义就是从神经网络的输出(顶层)到输入(底层)进行求解。那么求解什么呢,求解的就是神经网络中的参数的导数,即参数梯度方向,从而就可以使用梯度下降等求解无约束问题(cost function的最值)的方法求得最终的参数。神经网络前向传播的过程比较简单,这里不做讲解(如果不了解,可以参看文献)。

1.问题分析

1.1 Cost function

假设我们有一个固定样本集,它包含 m 个样例。我们可以用批量梯度下降法来求解神经网络。具体来讲,对于单个样例(x,y),其代价函数为:

                                            

这是一个(二分之一的)方差代价函数。给定一个包含 m 个样例的数据集,我们可以定义整体代价函数为:


以上公式中的第一项J(W,b) 是一个均方差项。第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。

 

1.2 梯度下降

梯度下降法中每一次迭代都按照如下公式对参数W 和b 进行更新:



由以上公式可以看出我们只需要求解出单个样例对单个参数的导数就可以了。

2. BP算法

         如何求取单个样本的costfunction对参数的导数呢,为此我们引入了一个叫做”残差”的概念(也有称为敏感度;残差可以看做是对偏置参数b的导数,偏置变化多少,残差就变化多少,残差就是偏置的变化率)。然后通过这个残差来求解对参数的导数。我们用表示第l层第i个结点的残差,表示第l层第i个结点的激励值,其中:


下面给出反向传导算法的细节:





将上式中的nl-1与nl的关系替换为l和 l+1的关系,就可以得到:

 

以上逐次从后向前求导的过程即为”反向传导”的本意所在。直观的理解公式就是第l层第i个结点的残差等于第l+1层与其连接的所有结点的权值和残差的加权和再乘以该点对z的导数值。

4:计算我们所需要的偏导数,计算方法如下:


Cost function对参数(l层第j个结点到第l+1层第i个结点的权值)的导数等于第l层第j个结点的激励值乘以第l+1层第i个结点的残差。

这样反向传播算法就可以表示为以下几个步骤:


实现批量梯度下降法中的一次迭代步骤如下:


参考文献:

http://ufldl.stanford.edu/wiki/index.phpUFLDL教程

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BP算法与公式推导 的相关文章

随机推荐

  • AI人工智能在电信运营商有哪些应用?怎么应用?

    AI人工智能在电信运营商有哪些应用 xff1f 怎么应用 xff1f
  • RTTHREAD软件包目录

    RTTHREAD软件包目录 这边统计下RTTHREAD软件包的各项内容 IOT 包名技术标签依赖平台备注abup fotaOTATCP UDP本软件包是用于 Abup FOTA 升级的固件下载器agile jsmnjsonC库jsmn是一个
  • DSP28系列—MPU6050漂移补偿方案的探索

    说在前面的话 xff1a 大家都知道 xff0c 陀螺仪是一种能测量角速度的器件 xff0c 是姿态解算 角度测量等任务中无法缺少的工具 单轴的陀螺仪配合单轴的加速度计 xff0c 就能结算出一个姿态角 在平衡车的应用中 xff0c 一维的
  • 【前端工程化】 剖析npm的包管理机制(完整版)

    现如今 xff0c 前端开发的同学已经离不开 npm 这个包管理工具 xff0c 其优秀的包版本管理机制承载了整个繁荣发展的NodeJS社区 xff0c 理解其内部机制非常有利于加深我们对模块开发的理解 各项前端工程化的配置以加快我们排查问
  • 学习无人机-C01小四轴无人机初体验

    开机时 xff0c M3对应的蓝色指示灯先亮 xff0c M4那头对应的LED09一直亮 xff08 只要板子上电 xff0c 就会一直亮 xff09 充电时 xff0c 红色LED11一直亮 xff0c 没有变暗或者灭掉的现象 并且 xf
  • 姿态传感器的原理与应用文献笔记

    64 TOC 姿态传感器的原理与应用文献笔记 20210526 一 高精度姿态传感器x 1 姿态传感器的定义和意义 姿态传感器以嵌入式系统为核心 xff0c 基于 固态 结构 xff0c 采用先进的倾角测量技术分 xff38 xff39 两
  • vim无法安装问题

    1 用root账户登录Ubuntu xff0c 命令行中输入vim xff0c 如果未安装会得到下面的提示 xff1a 程序 vim 已包含在下列软件包中 xff1a vim gnome vim tiny vim gtk vim nox 请
  • k8s操作手册

    1 kubernetes 组件 1 1 Kubernetes 组件介绍 一个 kubernetes 集群主要由控制节点 xff08 master xff09 工作节点 xff08 node xff09 构成 xff0c 每个节点上都会安装不
  • 已知一指针p,你可以确定该指针是否指向一个有效的对象吗?如果可以,如何确定?如果不可以,请说明原因。

    这个问题我的思路是 xff1a 首先用 p将其值输出来 xff0c 如果编译器报错 xff0c 证明p指向一个无效的对象 xff0c 要么p 61 0要么p未进行初始化 xff0c 此时可以用if p 61 61 NULL 进行判断即可 x
  • opencv学习_10 (图像和轮廓的匹配(hu矩))

    图像和轮廓的匹配 hu矩 1 hu矩的概念 xff0c 我也总结了但是我不过多的阐述 xff0c 因为我也不是太理解 xff0c 只知道它具有平移 xff0c 旋转 xff0c 尺度不变性 xff0c 详细见别人的这篇 blog xff1a
  • opencv学习_11 (模板匹配(包括单模板和多模板))

    模板匹配 在一幅图像中匹配与模板相似的单个或者多个目标 1 目标匹配函数 xff1a cvMatchTemplate const CvArr image constCvArr templ CvArr result int method Im
  • opencv学习_11 (moravec角点检测及缺点)

    1 首先我们来看三幅图片理解什么是角点 xff1a 我们在图片以某像素点为中心 xff0c 取一窗口 xff0c 当窗口向各个方向移动时 xff0c 其内部灰度值变化不是很明显 xff0c 则该点即处在平坦区域 如左边图 xff1b 当其内
  • 2013学习总结

    时间飞逝 xff0c 很快又要过年了 xff0c 马上就要回家了 xff0c 2013年工作也接近尾声了 下面好好总结下2013 学习与工作 lt 1 gt 863农产品推荐系统 一个字形容 xff1a 水 可能国家项目都是这样的 不管怎样
  • 机器学习实战笔记2(k-近邻算法)

    1 xff1a 算法简单描述 给定训练数据样本和标签 xff0c 对于某测试的一个样本数据 xff0c 选择距离其最近的k个训练样本 xff0c 这k个训练样本中所属类别最多的类即为该测试样本的预测标签 简称kNN 通常k是不大于20的整数
  • 智源青年科学家候选人 | 张祥雨:挑战自动化深度学习系统

    4月16日 xff0c 北京智源人工智能研究院发布 智源学者计划 xff0c 宣布重点支持四类人才 xff1a 智源科学家首席 xff08 CS xff09 智源研究项目经理 xff08 PM xff09 智源研究员 xff08 PI xf
  • 可导一定连续,连续不一定可导

    今天在群里面看到大家发了这句可导一定连续 xff0c 连续不一定可导 大家应该都很熟悉 xff0c 包括我自己 xff0c 但是真正理解有多少呢 xff0c 我当时就没想明白 xff0c 中午吃饭的时候也在想 xff0c 最后还是想明白了
  • PCA降维简介

    PCA 全称为 principal component analysis xff0c 即主成成分分析 xff0c 用于降维 对数据进行降维有很多原因 比如 xff1a 1 xff1a 使得数据更易显示 xff0c 更易懂 2 xff1a 降
  • 2014学习总结

    本来想将2014的总结推迟几天写的 xff0c 可是看到csdn的博客活动 xff0c 故而提前几天写了 http blog csdn net lu597203933 article details 18421101这是我个人2013写的学
  • 相似图片搜索原理一(ahash—c++实现)

    ahash xff0c 全称叫做 average hash 应该是 phash perceptual hash 感知哈希 算法的一种 是基于图像内容搜索最简单的一种 search image by image xff0c 因此也有很多的局限
  • BP算法与公式推导

    BP backpropgationalgorithm xff1a 后向传导算法 xff0c 顾名思义就是从神经网络的输出 顶层 到输入 底层 进行求解 那么求解什么呢 xff0c 求解的就是神经网络中的参数的导数 xff0c 即参数梯度方向