用简单的图来解释人工神经网络(三)——BP神经网络
一、基本概念
BP(Back-Propagation):误差反向传播(训练权值时沿着减小误差的方向),并不属于反馈神经网络。
BP神经网络是一种多层网络。
广泛应用于:分类识别、逼近、回归、压缩等领域
在实际应用中,大约80%的神经网络模型采取了BP网络或BP网络的变化形式,一个包含两个隐藏层的BP神经网络的结构图如下图所示。
传递函数必须可微,所以二值函数与符号函数等没有用武之地了。
BP神经网络常用两种传递函数:Log-sigmoid 和 Tan-sigmoid ,曲线如下图所示。
这两个函数在分类时比线性函数更精确,容错性较好。
所以BP神经网络的典型设计是:隐藏层用sigmoid函数,输出层用线性函数
二、学习算法
1.最速下降法
原理:
实值函数F(x)在某点x0处有定义且可微。则函数沿着梯度相反的方向下降速度最快。
根据梯度值可以在函数中画出一系列等值线或等值面,梯度下降法相当于沿着垂直于等值线方向向最小值所在位置移动。
局限:
1.目标函数必须可微
2.最小值附近若比较平坦,在最小值附近收敛缓慢
3.多个极小值时容易陷入局部极小值
2.最速下降BP法(核心)
整个流程可以分成两个部分
第一部分为工作信号正向传播(黄色部分)
第二部分为误差信号反向传播(蓝色部分)
三、最速下降BP法的改进
1.动量BP法
引入动量因子α(0.1<α<0.8),使权值修正不止与本次计算有关,还与上次更新有关,使权值具有一定惯性、抗震荡性和快速收敛的能力。
2.学习率可变的BP法
当误差以减小方式趋于目标时,增加学习率
当误差增大,则减小步长,同时撤销前一步修正。
3.拟牛顿法
H为误差性能函数的Hessian函数,包含了误差函数的导数信息。
4.LM算法
J是包含误差性能函数对网络权值一阶导数的雅克比矩阵。
用简单的图来解释人工神经网络(三)——BP神经网络相关推荐
- 基于bp的神经网络算法,bp神经网络是什么算法
BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...
- bp神经网络是什么网络,神经网络和bp神经网络
1.什么是BP神经网络? BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成:正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差 ...
- mlp神经网络和bp神经网络,bp神经网络lm算法原理
MATLAB中训练LM算法的BP神经网络 1.初始权值不一样,如果一样,每次训练结果是相同的 2.是 3.在train之前修改权值,IW,LW,b,使之相同 4.取多次实验的均值 一点浅见,仅供参考 ...
- RBF神经网络与BP神经网络优缺点比较
RBF神经网络与BP神经网络优缺点比较 (2016-05-31 21:37:04) 转载▼ 标签: 神经网络 RBF神经网络与BP神经网络优缺点比较 1. RBF 的泛化能力在多个方面 ...
- 深度学习(神经网络) —— BP神经网络原理推导及python实现
深度学习(神经网络) -- BP神经网络原理推导及python实现 摘要 (一)BP神经网络简介 1.神经网络权值调整的一般形式为: 2.BP神经网络中关于学习信号的求取方法: (二)BP神经网络原理 ...
- RBF神经网络与BP神经网络的比较
RBF神经网络与BP神经网络的比较 RBF神经网络与BP神经网络都是非线性多层前向网络,它们都是通用逼近器.对于任一个BP神经网络,总存在一个RBF神经网络可以代替它,反之亦然.但是这两个网络也存在着 ...
- 人工神经网络与bp神经网络,BP神经网络算法原理
BP神经网络原理 人工神经网络有很多模型,但是日前应用最广.基本思想最直观.最容易被理解的是多层前馈神经网络及误差逆传播学习算法(ErrorBack-Prooaeation),简称为BP网络. 在19 ...
- 简单易学的机器学习算法——神经网络之BP神经网络
一.BP神经网络的概念 BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的.具体来说,对于如下的只含一个隐层的神经网络模型: (三层BP神经网络模型) ...
- 人工水母优化BP神经网络(JSBP)实现数据预测的Matlab代码和效果展示
人工水母搜索算法优化BP神经网络(JSBP)实现数据预测原理讲解和代码效果展示的完整讲解视频(时长33分钟)地址:https://www.bilibili.com/video/BV1z84y1c7JA ...
- 4.人工神经网络(BP神经网络)
1.概述:Rumelhart,McClelland于1985年提出了BP网络的误差反向后传BP(Back Propagation)学习算法.原理是利用输出后的误差来估计输出层的直接前导层的误差,再用这 ...
最新文章
- java mysql jtds_JAVA 使用jtds 连接sql server数据库
- php5的mysqli函数第二个参数,关于php:我应该将$ mysqli变量传递给每个函数吗?
- 2019建中台,2020拆中台,为什么很多公司中台战略宣告“失败”?
- [渝粤教育] 广东-国家-开放大学 21秋期末考试个人与团队管理10257k2
- python绘画_python学画画(上)
- java 进度条jsp,jsp进度条_jsp技巧
- android小记之FTP文件上传
- linux 关闭防火墙 centos7,centos7关闭防火墙和selinux
- 4月30日火车票今日开售,多个线路“一秒没”
- A - C语言实验——最值
- reactive streams的Mono及Flux
- [Hash应用问题] 例3.2 给出n个整数,按从大到小的顺序输出前m大的数
- 数据结构与算法之单链表
- SpringBoot使用MongoDB异常问题
- win10 完全卸载 MYsql8.0
- c语言程序设计 习题,2017年9月计算机二级C语言程序设计习题及答案
- 洛谷 CF894A QAQ
- 11个你不应该错过的JavaScript库
- 【原创】公司自研缓存系统UPU的总结
- python qqplot 检验正态分布