入门-误差逆传播算法
定义
误差逆传播算法(backpropagation BP算法)是迄今最成功的的神经网络算法。显示任务中使用神经网络时,大多是在使用BP算法进行训练。不仅适用于多层前馈神经网络,还可以用于其他类型的神经网络,训练递归。
BP算法
如下图的神经网络,有一隐式层,LL个神经元组成的1个输出层。
重点介绍标准的BP算法,也就是只考虑单个输入神经元节点的误差逆传播,研究的输入例为(xk,yk)(x_k,y_k),假定神经元的输出为ll个神经元,即:
yk=(yk1,yk2,...,ykl)y_k = (y^k_1,y^k_2,...,y^k_l)
里面的公式详见周志华的西瓜书,往上面写比较费劲,主要总结下自己的理解吧,目标是求解连接系数和阈值,这个算法的名称是逆传播,为什么是逆呢?
BP算法基于梯度下降策略,以目标的负梯度方向对以上参数进行调整,下面列出对这句话的提炼公式,等号左侧是权值的调整值,右侧为到底取值多少,它是对输出误差对权值的偏导与学习率的相反数。
学习率控制着算法每一轮迭代中的更新步长,若太大则容易振动,太小则收敛速度又会太慢。
算法总结
先将输入实例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果;
然后计算输出层的误差,再将误差逆向传播至隐层神经元;
最后根据隐层神经元的误差来对连接权和阈值进行调整,该迭代过程循环进行,直到达到某些停止条件位置(如训练误差已达到一个很小的值)。
累计误差逆传播算法
上面介绍的是标准的逆传播算法,如果推导出基于累积误差最小化的更新规则,就得到了累积误差逆传播算法。
与标准的BP算法每次更新只针对单个样例,参数更新的非常频繁,往往需进行更多次迭代。但是累积BP算法直接针对累积误差最小化,它在读取整个训练集D一遍后才对参数进行更新,其参数更新频率低,但是在很多任务中,累积误差下降到一定程度后,进一步下降变得很缓慢。这是标准BP会更好,尤其D非常大时。
全局最小和局部极小
这是需要应对的一个挑战。目前主要有三种方式解决这个问题,
1)对参数分组初始化多个神经网络;
2)使用模拟退火技术;
3)使用随机梯度下降。
其他常见神经网络
RBF网络
ART网络
SOM网络
级联相关网络
Elman网络
Boltzmann机
参考周志华的机器学习西瓜书
关于BP算法较好的几篇博客推荐:
http://blog.csdn.net/zouxy09/article/details/45288129
http://blog.csdn.net/wanglp094/article/details/7702907
http://www.cnblogs.com/wentingtu/archive/2012/06/05/2536425.html
http://blog.csdn.net/appleml/article/details/48623303
入门-误差逆传播算法相关推荐
- 《机器学习与数据挖掘》实验五 编程实现误差逆传播算法(BP算法)
前言: 摘要:本文对机器学习实验五 标准BP算法的代码进行实现,如果不了解的BP算法的话,可以自行上网搜索BP算法的详解. 实验题目:编程实现误差逆传播算法(BP算法) 实验目的:掌握误差逆传播算法( ...
- 人工智能知识全面讲解:多层神经网络与误差逆传播算法
7.3.1 从单层到多层神经网络 明斯基教授曾表示,单层神经网络无法解决异或问题,但是当增加一个计 算层以后,两层神经网络不仅可以解决异或问题,而且具有非常好的非线性分 类效果.只是两层神经网络的计算 ...
- BP(BackPropagation)误差逆传播算法
上篇文章介绍了多层前馈神经网络,那么这种网络是怎样训练生成的呢,BP算法就是其中一种生成多层神经网络的算法 ,又称为反向传播算法,下面来了解一下BP算法. 举例: 下图中是根据一个手写数字辨识的神经网 ...
- BP算法误差逆传播参数更新公式推导
BP算法误差逆传播参数更新公式推导
- 误差逆传播算法公式理解及推导
前言:公式理解及推导参考自<机器学习>周志华 P101 BP网络 BP网络一般是指由 误差逆传播(error BackPropagation, BP)算法训练的多层前馈神经网络. 给定训练 ...
- 深度学习入门笔记(六):误差反向传播算法
专栏--深度学习入门笔记 推荐文章 深度学习入门笔记(一):机器学习基础 深度学习入门笔记(二):神经网络基础 深度学习入门笔记(三):感知机 深度学习入门笔记(四):神经网络 深度学习入门笔记(五) ...
- 深度学习入门-误差反向传播法(人工神经网络实现mnist数据集识别)
文章目录 误差反向传播法 5.1 链式法则与计算图 5.2 计算图代码实践 5.3激活函数层的实现 5.4 简单矩阵求导 5.5 Affine 层的实现 5.6 softmax-with-loss层计 ...
- TensorFlow基础10-(误差反向传播算法以及实现多层神经网络)
记录TensorFlow听课笔记 文章目录 记录TensorFlow听课笔记 一,误差反向传播算法 二,链式求导法则 三,隐含层有多个神经元的误差反向传播 四,激活函数 五,实现多层神经网络 一,误差 ...
- 新手入门机器学习十大算法
新手入门机器学习十大算法 2018年9月17日 磐石 TensorFlowNews, 机器学习 0 在机器学习的世界中,有一种被称为"无免费午餐"的定理. 它意在说明没有哪种算法能 ...
- ps 入门 传智播客_播客快速入门指南
ps 入门 传智播客 大概使我有权力进行播客的唯一一件事就是,我运行自己的播客已经快三年了. Sysadministrivia播客通常使用不安全的工作语言-实际上,它会让人联想到那些在中年危机中挣扎, ...
最新文章
- iOS 多级下拉菜单
- ABAP [div '/'] 的区别与妙用
- HDU - 1358 Period(KMP的next数组求最小循环节)
- linux find 用法详解 + 实例
- 软件测试 学习之路 CSS (三)
- 关于浏览器的那些事情1【面试】
- php监控url,php对URL地址探测
- 【月径流预测】基于matlab海洋捕食者算法优化BP神经网络月径流预测【含Matlab源码 2002期】
- Linux 内核经典面试题
- 基于Springboot+websocket的web聊天项目(论文+程序设计源码+数据库文件)
- GPS经纬度 转化为 M
- 《私募股权基金投资基础知识》---第二章
- Java IDEA 编辑器代码前进后退快捷键
- 现代经济感悟(4)-为什么一分钱一分货,两分货却要一块钱
- 实战经验:大数据分析为什么大多数会失败?
- JavaScript高级编程设计(第三版)——第二章:在html中使用javaScript
- STM32F407IGT6与STM32F407ZGT6区别
- 【NOIp普及组 2009】分数线划定
- 泡泡玛特再曝“兑奖纠纷”,昔日“盲盒第一股”面临三重难题
- GL_INVALID_OPERATION