当前课程知识点:智能控制 >  第六章 典型神经网络 >  6.2 BP神经网络 >  6.2.1.2 BP神经网络简介(中)

返回《智能控制》慕课在线视频课程列表

6.2.1.2 BP神经网络简介(中)在线视频

下一节:6.2.1.3 BP神经网络简介(下)

返回《智能控制》慕课在线视频列表

6.2.1.2 BP神经网络简介(中)课程教案、知识点、字幕

下面我们来看一下

BP算法的步骤

第一步 初始化

首先我们要确定它的结构

千万别忘了

BP神经网络的输入

它的维数和输出的维数

是由这个问题的本身来决定的

那么隐含层它是一层还是多层

那么隐含层有多少个神经元

这是根据经验来确定的

那么事先我们会确定

BP神经网络的一个结构

结构确定了

它的权值和阈值都可以确定

有哪些权值、阈值需要调整

那么在初始化的时候

首先要置所有的权值和阈值

为一个较小的随机数

范围为正 负1之间

有的时候可能会在0到1之间

这根据问题的不同而决定

事先要给定计算的精度要求

也就是最终我训练

误差要达到多少的时候才能停止下来

或者是最大学习次数

我学习多少次

这个值就会停止

这是初始化

那么有了初始化之后

初始参数之后

我们就可以进行第二步

提供训练样本

那么一般的在用BP神经网络

或者其他神经网络训练的时候

我们会事先采集一些样本

把这些样本

比如一百个样本

我前80个用来训练

后20个用来进行测试

训练干什么

我就把样本以及它期望的输出

告诉BP神经网络

我想建立这些训练样本

和它期望的输出这样一种

非线性映射关系

然后你就通过你的算法

进行调整它的权值和阈值

建立这样一个非线性映射关系

那么训练完之后

我就可以建立针对训练样本

它的输入到它的期望输出

这样一种非线性映射关系

BP神经网络

建立这个模型好不好用

我们可以把另外

比如说20个测试样本拿来进行测试

看BP神经网络的输出

和它的期望输出是不是一致的

这样可以测试它的算法的性能

所以第二步就是提供训练样本

当然训练样本还包括它的期望输出

因为它是BP神经网络

它是给定的期望输出

是一种有导师学习的方式

那么给定的输入向量就是x₁到xM

还有期望的目标输出向量d₁到dL

那么BP算法的第三步

就是进行定向计算

正向传播前馈计算

首先我给一个样本

给个样本

依次经过输入层、隐含层、输出层

加权求和

分别加权求和取函数

就能得到它的实际输出

那么那个pj表示是第p个

p个样本

j表示岩层的第j个节点

我们这里面把小p省略掉

就是(见公式)

i是从1到M

它有M个输入

Oi是表示隐含层的输入

实际上对应的就是输入层

Oi第i个输入

那么隐含层它的输入

经过激励函数f变换之后

得到它的输出Oj

那么这里面θj

表示的是它的阈值

隐含层第j个节点的阈值

正的θj的作用就是使激励函数

沿水平轴向右移

那么求导多大

(见公式)

这是一个结论

那么输出层第k个节点的总输入

那么这时候对输出层第k个节点来说

它就有q个输入

分别来自隐含层的这q个输出

Oj

j层1到q

那么加权求和之后

这个权值就是我们的j,k

得到了netk

再经过激励函数f变换

得到了输出层

第k个节点的实际网络输出Ok

等于f(netk)

那么得到了输出层

第k个节点的实际网络输出

其实也就得到了

基于样本

得到了当前各个输出层

各个节点的实际输出

我就可以对期望输出进行比较

这样的话就是BP神经网络第四步

BP网络的权值调整

也就是反向传播阶段

设每个样本p的输入输出模式对

的二次型误差函数定义为

(见公式)

也就是L个输出

分别对应的每一个输出的期望输出

和实际输出

它的偏差的平方和再除以二

除以二的目的就是为了

把平方求导之后把它抵消掉

这样得到了系统的平均误差

那么又有P个样本

所以p从1到P

求和就得到这样一个平均误差函数

那么其中P为样本模式对数

L为神经网络的输出层节点数

现在问题就是如何调整连接权值和阈值

使得这样代价函数误差E最小

为了简便省略了下标p

重写这个式子

这样就得到了误差函数E

它是关于期望输出dk和实际输出Ok的函数

那么BP神经网络的核心思想就是要

使得它的连接权值

我们的ij和我们的jk

按照误差函数

梯度变化的反方向进行调整

最终使得神经网络的实际输出

接近期望输出

那么输出层权值的修正公式定义为

(见公式)

这个负号表示是刚好跟它偏导数相反

也就是它梯度相反

η是个学习速率大于0的数

后面我们就可以定义误差函数

它是关于我们的jk的函数

但中间有中间变量

它是关于E

是关于netk的

再关于我们的jk的函数

这样的话E经过推导

最终就可以得出来

输出层的任意神经元权值的修正公式为

(见公式)

那么是后面这些参数都是知道的

我们都可以求出来

或者简称为Δpωjk

表示的是隐含层第j个节点

到输出层第k个节点

它们之间联系权值

我们的jk的增量

导入什么

(见公式)这样一个式子

实际上dk、Ok、η

这是事先都知道的

而隐含层节点权值的变化量

(见公式)

而这里面可以通过定义中间变量netj

可以把它求出来

而误差函数E首先是Oj的函数

然后Oj是netj的函数

通过这样中间变量定义

最终也可以得到

Δpωij

它实际上是等于

(见公式)

得到这样一个隐含层节点

还有输出层节点

Δpωjk的这样一个计算公式

这样最后就可以推导出

神经网络连接权值调整式子为

第t+1次训练的结果

ωij是在第t次迭代的基础上

我们在ij基础上叠加了

(见公式)

当前时刻的

就是第t次的权值减去上一次权值

这样偏差

这样的话是调整它的连接权值

那边t+1表示第t+1次迭代

α为平滑因子

是0到1之间的一个平滑因子

这样经过反向传播之后

它是基于梯度进行反向传播的

进入了第五步

我们要判断神经网络误差是否满足要求

当神经网络的误差

达到了预先设定的精度

或者是学习次数大于设定的最大次数

就结束算法

否则的话选取下一个样本

训练样本

以及对应的期望输出

返回到第二步

进入下一轮学习

继续调整权值和阈值

直到满足要求

智能控制课程列表:

第一章 智能控制课程概论

-开篇

--开篇

-1.1课程考试方式

--1.1课程考试方式

-1.2 数据、信息、知识与智能

--1.2 数据、信息、知识与智能

-1.3传统控制面临的挑战

--1.3 传统控制面临的挑战.

-1.4 控制科学发展过程

--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.1 搜索与人工智能的关系

--2.1.2 算法1 随机搜索

--2.1.3 算法2 引入CLOSED表.

--2.1.4 算法3 引入OPEN表.

--2.1.5 纵向搜索算法(深度优先搜索)

--2.1.6 横向搜索算法(广度优先搜索)

-- 2.1.7 均一代价搜索

--2.1.8 启发式搜索

--2.1.9 登山法和最佳优先搜索.

-- 2.1.10 A星算法

-- 2.1.11 八数码魔方实例分析

-2.2 专家系统简介

--2.2.1 专家系统简介(上)

--2.2.2 专家系统简介(下)

- 2.3 专家PID

--2.3.1 专家PID (上)

--2.3.2 专家PID (下)

-第二章测试

第三章 模糊控制的理论基础

-3.1 模糊控制概述

--3.1.1 模糊控制概述

-3.2 模糊集合

--3.2.1 模糊集合(上)

--3.2.2 模糊集合(中)

--3.2.3 模糊集合(下)

-3.3 隶属函数

--3.3隶属函数.

-3.4 模糊关系及其运算

--3.4模糊关系及其运算

-第三章测试

第四章 模糊控制

- 4.1 模糊自适应整定PID控制原理

--4.1.1 模糊自适应整定PID控制原理(上)

--4.1.2 模糊自适应整定PID控制原理(下)

-4.2 基于FF的模糊PID控制试验验证

-- 4.2.1 基于FF的模糊PID控制试验验证(上)

-- 4.2.2 基于FF的模糊PID控制试验验证(下)

-第四章测试

第五章 神经网络的理论基础

- 5.1 神经网络简介

--5.1 神经网络简介

- 5.2 神经网络的发展简史

--5.2 神经网络的发展简史

-5.3 神经网络的基本概念

--5.3 神经网络的基本概念

- 5.4 神经网络的分类

--5.4 神经网络的分类

-5.5 神经网络的学习算法、基本特征和研究领域

--5.5 神经网络的学习算法、基本特征和研究领域

-第五章测试

第六章 典型神经网络

-6.1 感知器

--6.1.1 感知器的数学模型.

--6.1.2.1 感知器应用实例分析(实现逻辑运算与或非)

--6.1.2.2 感知器应用实例分析(实现逻辑运算异或)

- 6.2 BP神经网络

--6.2.1.1 BP神经网络简介(上)

--6.2.1.2 BP神经网络简介(中)

--6.2.1.3 BP神经网络简介(下)

--6.2.2.1 BP神经网络应用实例分析之一:逻辑运算异或实现

--6.2.2.2 BP神经网络应用实例分析之二:非线性函数拟合

-第六章测试

第七章 遗传算法及其应用

- 7.1 什么是遗传算法

--7.1 什么是遗传算法

-7.2 遗传算法的特点

--7.2 遗传算法的特点

-7.3 遗传算法的基本操作之复制

--7.3 遗传算法的基本操作之复制

-7.4 遗传算法的基本操作之交叉与变异

--7.4 遗传算法的基本操作之交叉与变异

-第七章测试

第八章 遗传编程

-8.1 遗传编程工作原理

--8.1 遗传编程工作原理

-8.2 遗传编程基本操作之复制

--8.2 遗传编程基本操作之复制

-8.3 遗传编程基本操作之交换和突变

--8.3 遗传编程基本操作之交换和突变

- 8.4 遗传编程的工作步骤及实例分析

-- 8.4 遗传编程的工作步骤及实例分析

-第八章测试

期末测试

-期末测试

6.2.1.2 BP神经网络简介(中)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。