当前课程知识点:智能控制 > 第六章 典型神经网络 > 6.2 BP神经网络 > 6.2.1.3 BP神经网络简介(下)
那么这就是BP神经网络的
它的算法
一个流程
初始化
正向传播
反向传播
然后再进行一个循环迭代
总结一下BP算法的学习过程
就是神经网络
在外界输入样本的刺激下
不断地改变神经网络的连接权值
使得神经网络的输出
不断地接近期望的输出
这样一个过程
就是样本的刺激
它用它的算法进行
调整它的权值、阈值
最终建立一种
从输入样本到期望的输出
这样一种非线性映射关系
我们发现BP神经网络对应的算法
它的学习的本质就是
对各连接权值的动态调整
实际上这个学习就体现在
它的权值和阈值是可以调整的
那么学习规则就是
它的权值和阈值的调整规则
也就是在学习过程中
神经网络各神经元的连接权值
所变化
所依据的一定的调整规则
那么发现BP神经网络
在学习的过程中
我们不仅给了输入样本
还给了它期望的输出
所以它是一种有导师的学习方式
它的核心思想就是将输出误差
以某种形式
通过隐层向输入层逐层反向传播
而且是将误差
分摊给各层的所有单元
形成各层单元的误差信号
从而用这样一个梯度信号
来修正各单元的权值
ωij、ωjk
那么学习的过程本质上就是信号
依次经过输入层
隐含层到输出层
正向传播
正向计算神经网络的实际输出
然后根据神经网络的实际输出
与期望输出之间的偏差
进行误差反向传播
调整它的权值
从而形成了正向传播和反向传播的
这样一个交替循环的一个过程
从而形成的BP算法的学习过程
下面我们看一下
BP算法的直观解释
横坐标是表示权值
纵坐标是表示误差函数
我们发现当误差对权值的偏导数
大于零的时候
也就是它梯度大于零的时候
那么发现权值调整量
它是要乘以一个-η倍的
都变成了负数
小于零
实际上就在于这条曲线的右边部分
误差对权值的偏导数大于零
就是它
斜率是正向
这时候实际输出要大于期望输出
我们希望连接权值上的调整
向减小的方向调整
希望误差减小
这样才能使得实际输出
与期望输出误差减小
反过来当误差对权值的
偏导数小于零的时候
在左侧部分
它的斜率是小于零的
实际输出少于期望输出
我们希望权值能够向增大方向调整
又正好是权值调整量为正的
这样的话就使得实际输出
与期望输出之间的偏差进一步减小
使得误差减小
这也说明为什么
权值的增量和误差倒数的方向是相反的
-η倍的
那么在实际采用BP算法的过程中
我们要注意一下事情
第一学习开始的时候
各隐含层连接权值的初值
以设置较小的随机数较为合适
第二采用S型激励函数时
由于输出层各神经元的输出
只能趋近于0或者1
并不能达到0或1
这样的话在设置训练样本的时候
期望的输出向量
不能直接设为0或1
而应该设置0.9或者0.1比较合适
第三关于学习速率的选择
在学习开始的时候
学习速率η可以选取较大的值
可加快学习速度
当学习接近优化区的时候
η必须相当小
否则的话将会产生振荡而不收敛
平滑因子α的选值一般在0.9左右
那么总结一下BP神经网络的优点就是
第一它具有非线性映射能力
因为神经网络能够学习和存储
大量输入输出模式映射关系
而不需要事先了解
描述这种映射关系的数学方程
只要能够提供足够多的样本模式对
供神经网络进行学习训练
它便能够完成、实现、建立
从N维输入空间到M维输出空间的
一种非线性映射关系
正因为它有这种很强的非线性映射关系
它才能得到广泛的应用
第二泛化能力
当向神经网络输入
训练时未曾见过的非样本数据时
神经网络也能完成
由输入空间向输出空间的正确映射
这种能力称为泛化能力
第三容错能力
如果输入样本中带有较大的误差
甚至个别错误
那么对神经网络的输入输出规律
影响很小
这样的话它还可以容错
BP神经网络有什么缺点呢
第一 我们发现它待寻优的参数太多
在BP神经网络结构里面
待寻优的权值
有ωij就是输入层的节点数
M乘以N层的结点数
Q就是MQ个
再加上隐含层的节点数Q
输出层的节点数L
Q乘以L个
这是待优化的权值
还有阈值就是Q和L
这样加起来
待寻优的参数太多
导致它的收敛速度较慢
第二 目标函数存在多个极值点
按梯度下降法学习
容易陷入局部极小值
所以往往需要跟
其它的算法进行结合
或者进一步优化
第三 关于它的隐含层有几层
一层 两层 还是三层
还有隐含层有多少个节点
这个问题还没有公认的方法
一般都是根据经验来是试凑
看效果怎么样
再进行调整
下面介绍一下
基于Matlab的
BP神经网络应用仿真实例分析
由于BP神经网络
具有很好的非线性映射能力
它广泛应用于模式识别
图像处理
系统辨识
函数拟合
优化计算
最优预测
自适应控制
等各个领域
-开篇
--开篇
-1.1课程考试方式
-1.2 数据、信息、知识与智能
-1.3传统控制面临的挑战
-1.4 控制科学发展过程
-1.5 智能控制的多元论
--1.5
-1.6 控制策略的渗透与融合
--1.6
-1.7 智能控制与传统控制的联系与区别
--1.7
-1.8 智能控制的类型之分级递阶智能控制系统
--1.8
-1.9 智能控制的类型之专家控制系统
--1.9
-1.10 智能控制的类型之模糊控制系统
--1.10
-1.11 智能控制的类型之神经网络控制系统,智能控制的类型之基于规则的仿人智能控制系统,集成智能控制系统,组合智能控制
--1.11
-1.12智能控制系统的类型之基于规则的仿人智能控制系统,集成智能控制系统,组合智能控制
--1.12
-1.13本章小结
--1.13
-第一章测试
-2.1基于搜索的问题求解
-- 2.1.7 均一代价搜索
-- 2.1.10 A星算法
-2.2 专家系统简介
- 2.3 专家PID
-第二章测试
-3.1 模糊控制概述
-3.2 模糊集合
-3.3 隶属函数
--3.3隶属函数.
-3.4 模糊关系及其运算
-第三章测试
- 4.1 模糊自适应整定PID控制原理
-4.2 基于FF的模糊PID控制试验验证
-第四章测试
- 5.1 神经网络简介
- 5.2 神经网络的发展简史
-5.3 神经网络的基本概念
- 5.4 神经网络的分类
-5.5 神经网络的学习算法、基本特征和研究领域
-第五章测试
-6.1 感知器
--6.1.2.1 感知器应用实例分析(实现逻辑运算与或非)
- 6.2 BP神经网络
--6.2.2.1 BP神经网络应用实例分析之一:逻辑运算异或实现
--6.2.2.2 BP神经网络应用实例分析之二:非线性函数拟合
-第六章测试
- 7.1 什么是遗传算法
-7.2 遗传算法的特点
-7.3 遗传算法的基本操作之复制
-7.4 遗传算法的基本操作之交叉与变异
-第七章测试
-8.1 遗传编程工作原理
-8.2 遗传编程基本操作之复制
-8.3 遗传编程基本操作之交换和突变
- 8.4 遗传编程的工作步骤及实例分析
-第八章测试
-期末测试