第七章:多层神经网络的设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18/54 Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
径向基层中的偏差 b 可以用来调节基函数的灵敏度,不过在实
际应用中,更直接使用的是另一个称为伸展常数 的参数。用 它来确定每一个径向基层神经元对其输入矢量,也就是 w 与 u 之间距离相对应的径向基函数的宽度。 值(或 b 值)在实际应 用中有多种确定方式。 二、RBF神经元工作过程 径向基层神经元的工作原理采用的是聚类功能。不失一般性,
若取径向基函数为高斯函数,则神经元的输出为:
Outi e
In i 2
e
( w u bi ) 2
2
e
( ( w ji u j ) 2 bi ) 2
j 1
n
(7.2.2)
可以看出,随着 w 和 u 间的距离减小,径向基函数神经元的输 出增加,在其输入为0时,即 w 和 u之间的距离为0时,输出为 最大值1。
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
7.1.1 训练数据的处理
一、获取样本数据 设计有监督学习的神经网络,获取样本数据集是第一步,也是
十分重要和关键的一步。样本数据的获取包括原始数据的收集、
数据分析、变量选择以及数据的预处理,只有经过上述步骤的 处理后,神经网络的学习和训练才更加有效。 二、输入数据的变换 由于Sigmoid函数的导数计算十分方便,因此神经元的作用函 数多选Sigmoid型。若神经元的作用函数 f (x) 为一Sigmoid函
何选取神经元及其连接形式、如何选择学习算法,确保神经网 络性能达到期望值。虽然神经网络的形式有许多种,但是用于 控制系统的神经网络绝大部分属层状结构。因此,这里着重讨 论多层神经网络的设计问题 。
2/54
Beijing University of Technology
第七章 多层神经网络的设计
adqiao@sina.com 2013-7-11
考虑 N 维空间的 n 个数据点( x1 , x2 ,, xn ),假定数据已归一
化到一个超单立方体中。
19/54 Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
由于每个数据点都是聚类中心的候选者,因此,数据点 x i 处的
给定的区域内达到要求的精度。或者说,用较少的样本数据进
行训练,使神经网络对样本数据之外的输入也能给出合适的输
出。为了提高神经网络的泛化能力,需要对数据进行相关性分
析,尽量用相关性较低的数据训练神经网络。
ቤተ መጻሕፍቲ ባይዱ7/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
四、神经网络的期望输出 当神经元采用标准Sigmoid型作用函数时,由于神经网络输出 层各神经元的输出只能趋于1或0,而不能达到1或0。在设置各 训练样本时,期望的输出分量 d k 不能设置为1或0。而将期望输 出设置为0.9或0.1较为适宜。否则,可能导致神经网络熟训练
14/54 Beijing University of Technology
第七章 多层神经网络的设计
adqiao@sina.com 2013-7-11
径向基函数神经网络
15/54
Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
因此,设计者总是希望神经元工作在 x 较小的区域,这样就需
要对神经网络的输入给予适当地处理,一般取 u i 1 。
神经网络的输入取决于实际,若实际数据很大,则需要做归一 化处理,以保证神经元工作在 x 较小的区域。由于输入数据发 生了变化,那么对神经网络的输出也要进行相应的处理。如将
输出放大 倍, 的大小视实际而定,且需经验知识的积累 。
x x i j Di Dc1 Dc1 exp 22 j 1
n
2
(7.2.4)
其中 0 ,是一个密度指标显著减小的邻域。显然,靠近第 一个聚类中心 x c1 的数据点密度指标将显著减小,使得这些点不 可能成为下一个聚类中心。常数 通常大于 r ,以避免出现相
适应线性网络的运算速度更快。对于一些复杂的非线性问题,
单层神经网络无法解决或精度不能达到要求,只有增加层数才 能达到期望的结果。这是因为单层网络的神经元数被要解决的 问题本身限制,不能发挥出非线性作用函数的特长。
9/54
Beijing University of Technology
§7.1
adqiao@sina.com
不收敛。
8/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
7.1.2 神经网络的结构设计
一、神经网络的层数 对于可用单层神经元网络解决的问题,应当首先考虑用感知器 或自适应线性网络来解决,尽量不用多层感知器网络,因为自
16/54 Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
一、RBF神经元结构 图7.2.1给出了RBF网络隐含层的第 i 个径向基神经元结构。
17/54
Beijing University of Technology
神经元的输入值都接近于零,这样可以保证神经元的权值能够
得到比较大的调整,一般取初始权值为非常小的非零随机数。
12/54 Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
二、学习速率 学习速率直接决定每一次循环训练中所产生权值的调整量。学 习速率取得过大,可能导致学习算法不稳定;但学习速率取得 过小,将会导致学习算法收敛速度慢,神经网络的训练时间过 长。一般情况下,倾向于选取较小的学习速率以保证学习过程
问题来确定。因此,多层感知器网络的设计一般应从网络的层
数、隐含层中的神经元个数、神经元的激活函数、初始值和学 习速率等几个方面来进行考虑 。 在设计中应当尽可能地减小神经网络模型的规模,以便缩短网
络的训练时间。下面简要地讨论一下各个环节的设计原则 。
4/54 Beijing University of Technology
密度指标定义为:
x x n i j Di exp r 22 j 1
这里,
2
(7.2.3)
r
是一个正数。显然,如果一个数据点具有多个临近的
数据点,则该数据点具有高密度值。半径
r 定义了该点的一个
邻域,半径以外的数据点对该点的密度指标贡献甚微。
20/54
在理论上并没有一个明确的规定。在具体设计时,比较实际的 做法是通过对不同神经元数进行训练对比,然后适当的加上一 点余量 。
11/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
7.1.3 神经网络的参数选择
5/54 Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
数,根据Sigmoid函数的导数可知, f (x) 随着 x 的增大,其 导数 f (x ) 迅速减小。当 x 很大时, f (x ) 趋于0。这时,若 采用BP学习算法训练神经网络,网络的权值调整量几乎为零。
一、初始权值的选取 初始值的选择直接影响到学习能否收敛及训练时间的长短。若 初始权值太大,使得加权后的净输入落在Sigmoid函数的饱和 区,导致其导数 f (x)非常小,在权值修正中,因为 f (x), 当 f ( x) 0 时,则有 0 。这使得 wij 0 ,从而使权 值调整几乎停顿下来。所以,一般希望经过初始加权后的每个
多层前向神经网络设计
3/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
神经网络的设计涉及到网络的结构、神经元的个数及网络的层 数、神经元的激活函数、初始值以及学习算法等。对于多层感 知器网络而言,输入与输出层的神经元数可以根据需要求解的
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
由图可知,隐含层神经元是将该层权值向量 w 与输入向量 u 间 的矢量距离与偏差 bi 相乘后作为该神经元激活函数的输入。即
Ini w u
2
bi
( w ji u j ) 2 bi
j 1
n
(7.2.1)
速率合适,若 E出现振荡现象,则说明学习速率过大。对于每 一个具体神经网络都存在一个合适的学习速率。对于比较复杂 的神经网络,在误差曲面的不同部位可能需要不同的学习速率。 一般在学习初始阶段,学习速率选择较大的值以加快学习速度。
当学习过程快要结束时,学习速率必须相当小,否则权系数将
产生振荡而不收敛 。
多层前向神经网络设计
2013-7-11
理论上已经证明:隐含层采用Sigmoid函数,输出采用线性函 数的三层神经网络能够以任意精度逼近任何非线性函数。虽然 增加神经网络层数可以更进一步降低误差,提高精度,但同时
也会使神经网络复杂化,从而增加了网络权值的训练时间。而
误差精度的提高实际上也可以通过增加隐含层中的神经元数目 来获得,其训练效果也比增加层数更容易观察和调整。所以一 般情况下,应优先考虑增加隐含层中的神经元数。
Intelligent Control
Beijing University of Technology
第七章:多层神经网络的设计
北京工业大学
第七章:多层神经网络的设计
adqiao@sina.com 2013-7-11
神经网络的性能主要取决于神经元类型、神经网络结构及
相应的学习算法。因此可以说神经网络的设计,其实质就是如
2013-7-11
径向基函数(RBF—Redial Basis Function)神经网络,是由J. Moody和C. Darken于上世纪80年代末提出的一种神经网络模 型,它是由输入层、一个隐含层(径向基层)和一个线性输出层
组成的前向神经网络 。
7.2.1 径向基函数神经元
RBF神经网络的主要特征是隐含层采用径向基函数作为神经元 的激活函数,它具有局部感受特性,径向基函数有多种形式, 其中高斯型函数是应用较多的一种径向基函数 。
的稳定性。
13/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
二、学习速率 在神经网络训练过程中,不同的训练阶段可以用不同的学习速 率。通过观察每一次训练后的误差平方和 E 的下降速率,判
断所选定的学习速率是否合适。如果 E 下降很快,则说明学习
10/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
二、隐含层的神经元数 神经网络训练精度的提高,可以通过采用一个隐含层,而增加 其神经元数的方法来获得。这在结构实现上,要比增加更多的
隐含层简单得多。那么究竟选取多少个隐含层节点才合适?这
Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
在计算每个数据点的密度指标后,选择具有最高密度指标的数
据点为第一个聚类中心,令 x c1 为选中的点,Dc1 为其密度指标 那么剩余的每个数据点 x i 的密度指标可用下面的公式来修正。
6/54 Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
三、神经网络的泛化能力 神经网络的泛化能力(Generalization Ability)也称综合能力或 概括能力,是指用较少的样本数据进行训练,使神经网络能在
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
径向基层中的偏差 b 可以用来调节基函数的灵敏度,不过在实
际应用中,更直接使用的是另一个称为伸展常数 的参数。用 它来确定每一个径向基层神经元对其输入矢量,也就是 w 与 u 之间距离相对应的径向基函数的宽度。 值(或 b 值)在实际应 用中有多种确定方式。 二、RBF神经元工作过程 径向基层神经元的工作原理采用的是聚类功能。不失一般性,
若取径向基函数为高斯函数,则神经元的输出为:
Outi e
In i 2
e
( w u bi ) 2
2
e
( ( w ji u j ) 2 bi ) 2
j 1
n
(7.2.2)
可以看出,随着 w 和 u 间的距离减小,径向基函数神经元的输 出增加,在其输入为0时,即 w 和 u之间的距离为0时,输出为 最大值1。
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
7.1.1 训练数据的处理
一、获取样本数据 设计有监督学习的神经网络,获取样本数据集是第一步,也是
十分重要和关键的一步。样本数据的获取包括原始数据的收集、
数据分析、变量选择以及数据的预处理,只有经过上述步骤的 处理后,神经网络的学习和训练才更加有效。 二、输入数据的变换 由于Sigmoid函数的导数计算十分方便,因此神经元的作用函 数多选Sigmoid型。若神经元的作用函数 f (x) 为一Sigmoid函
何选取神经元及其连接形式、如何选择学习算法,确保神经网 络性能达到期望值。虽然神经网络的形式有许多种,但是用于 控制系统的神经网络绝大部分属层状结构。因此,这里着重讨 论多层神经网络的设计问题 。
2/54
Beijing University of Technology
第七章 多层神经网络的设计
adqiao@sina.com 2013-7-11
考虑 N 维空间的 n 个数据点( x1 , x2 ,, xn ),假定数据已归一
化到一个超单立方体中。
19/54 Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
由于每个数据点都是聚类中心的候选者,因此,数据点 x i 处的
给定的区域内达到要求的精度。或者说,用较少的样本数据进
行训练,使神经网络对样本数据之外的输入也能给出合适的输
出。为了提高神经网络的泛化能力,需要对数据进行相关性分
析,尽量用相关性较低的数据训练神经网络。
ቤተ መጻሕፍቲ ባይዱ7/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
四、神经网络的期望输出 当神经元采用标准Sigmoid型作用函数时,由于神经网络输出 层各神经元的输出只能趋于1或0,而不能达到1或0。在设置各 训练样本时,期望的输出分量 d k 不能设置为1或0。而将期望输 出设置为0.9或0.1较为适宜。否则,可能导致神经网络熟训练
14/54 Beijing University of Technology
第七章 多层神经网络的设计
adqiao@sina.com 2013-7-11
径向基函数神经网络
15/54
Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
因此,设计者总是希望神经元工作在 x 较小的区域,这样就需
要对神经网络的输入给予适当地处理,一般取 u i 1 。
神经网络的输入取决于实际,若实际数据很大,则需要做归一 化处理,以保证神经元工作在 x 较小的区域。由于输入数据发 生了变化,那么对神经网络的输出也要进行相应的处理。如将
输出放大 倍, 的大小视实际而定,且需经验知识的积累 。
x x i j Di Dc1 Dc1 exp 22 j 1
n
2
(7.2.4)
其中 0 ,是一个密度指标显著减小的邻域。显然,靠近第 一个聚类中心 x c1 的数据点密度指标将显著减小,使得这些点不 可能成为下一个聚类中心。常数 通常大于 r ,以避免出现相
适应线性网络的运算速度更快。对于一些复杂的非线性问题,
单层神经网络无法解决或精度不能达到要求,只有增加层数才 能达到期望的结果。这是因为单层网络的神经元数被要解决的 问题本身限制,不能发挥出非线性作用函数的特长。
9/54
Beijing University of Technology
§7.1
adqiao@sina.com
不收敛。
8/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
7.1.2 神经网络的结构设计
一、神经网络的层数 对于可用单层神经元网络解决的问题,应当首先考虑用感知器 或自适应线性网络来解决,尽量不用多层感知器网络,因为自
16/54 Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
一、RBF神经元结构 图7.2.1给出了RBF网络隐含层的第 i 个径向基神经元结构。
17/54
Beijing University of Technology
神经元的输入值都接近于零,这样可以保证神经元的权值能够
得到比较大的调整,一般取初始权值为非常小的非零随机数。
12/54 Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
二、学习速率 学习速率直接决定每一次循环训练中所产生权值的调整量。学 习速率取得过大,可能导致学习算法不稳定;但学习速率取得 过小,将会导致学习算法收敛速度慢,神经网络的训练时间过 长。一般情况下,倾向于选取较小的学习速率以保证学习过程
问题来确定。因此,多层感知器网络的设计一般应从网络的层
数、隐含层中的神经元个数、神经元的激活函数、初始值和学 习速率等几个方面来进行考虑 。 在设计中应当尽可能地减小神经网络模型的规模,以便缩短网
络的训练时间。下面简要地讨论一下各个环节的设计原则 。
4/54 Beijing University of Technology
密度指标定义为:
x x n i j Di exp r 22 j 1
这里,
2
(7.2.3)
r
是一个正数。显然,如果一个数据点具有多个临近的
数据点,则该数据点具有高密度值。半径
r 定义了该点的一个
邻域,半径以外的数据点对该点的密度指标贡献甚微。
20/54
在理论上并没有一个明确的规定。在具体设计时,比较实际的 做法是通过对不同神经元数进行训练对比,然后适当的加上一 点余量 。
11/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
7.1.3 神经网络的参数选择
5/54 Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
数,根据Sigmoid函数的导数可知, f (x) 随着 x 的增大,其 导数 f (x ) 迅速减小。当 x 很大时, f (x ) 趋于0。这时,若 采用BP学习算法训练神经网络,网络的权值调整量几乎为零。
一、初始权值的选取 初始值的选择直接影响到学习能否收敛及训练时间的长短。若 初始权值太大,使得加权后的净输入落在Sigmoid函数的饱和 区,导致其导数 f (x)非常小,在权值修正中,因为 f (x), 当 f ( x) 0 时,则有 0 。这使得 wij 0 ,从而使权 值调整几乎停顿下来。所以,一般希望经过初始加权后的每个
多层前向神经网络设计
3/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
神经网络的设计涉及到网络的结构、神经元的个数及网络的层 数、神经元的激活函数、初始值以及学习算法等。对于多层感 知器网络而言,输入与输出层的神经元数可以根据需要求解的
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
由图可知,隐含层神经元是将该层权值向量 w 与输入向量 u 间 的矢量距离与偏差 bi 相乘后作为该神经元激活函数的输入。即
Ini w u
2
bi
( w ji u j ) 2 bi
j 1
n
(7.2.1)
速率合适,若 E出现振荡现象,则说明学习速率过大。对于每 一个具体神经网络都存在一个合适的学习速率。对于比较复杂 的神经网络,在误差曲面的不同部位可能需要不同的学习速率。 一般在学习初始阶段,学习速率选择较大的值以加快学习速度。
当学习过程快要结束时,学习速率必须相当小,否则权系数将
产生振荡而不收敛 。
多层前向神经网络设计
2013-7-11
理论上已经证明:隐含层采用Sigmoid函数,输出采用线性函 数的三层神经网络能够以任意精度逼近任何非线性函数。虽然 增加神经网络层数可以更进一步降低误差,提高精度,但同时
也会使神经网络复杂化,从而增加了网络权值的训练时间。而
误差精度的提高实际上也可以通过增加隐含层中的神经元数目 来获得,其训练效果也比增加层数更容易观察和调整。所以一 般情况下,应优先考虑增加隐含层中的神经元数。
Intelligent Control
Beijing University of Technology
第七章:多层神经网络的设计
北京工业大学
第七章:多层神经网络的设计
adqiao@sina.com 2013-7-11
神经网络的性能主要取决于神经元类型、神经网络结构及
相应的学习算法。因此可以说神经网络的设计,其实质就是如
2013-7-11
径向基函数(RBF—Redial Basis Function)神经网络,是由J. Moody和C. Darken于上世纪80年代末提出的一种神经网络模 型,它是由输入层、一个隐含层(径向基层)和一个线性输出层
组成的前向神经网络 。
7.2.1 径向基函数神经元
RBF神经网络的主要特征是隐含层采用径向基函数作为神经元 的激活函数,它具有局部感受特性,径向基函数有多种形式, 其中高斯型函数是应用较多的一种径向基函数 。
的稳定性。
13/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
二、学习速率 在神经网络训练过程中,不同的训练阶段可以用不同的学习速 率。通过观察每一次训练后的误差平方和 E 的下降速率,判
断所选定的学习速率是否合适。如果 E 下降很快,则说明学习
10/54
Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
二、隐含层的神经元数 神经网络训练精度的提高,可以通过采用一个隐含层,而增加 其神经元数的方法来获得。这在结构实现上,要比增加更多的
隐含层简单得多。那么究竟选取多少个隐含层节点才合适?这
Beijing University of Technology
§7.2
adqiao@sina.com
径向基函数神经网络
2013-7-11
在计算每个数据点的密度指标后,选择具有最高密度指标的数
据点为第一个聚类中心,令 x c1 为选中的点,Dc1 为其密度指标 那么剩余的每个数据点 x i 的密度指标可用下面的公式来修正。
6/54 Beijing University of Technology
§7.1
adqiao@sina.com
多层前向神经网络设计
2013-7-11
三、神经网络的泛化能力 神经网络的泛化能力(Generalization Ability)也称综合能力或 概括能力,是指用较少的样本数据进行训练,使神经网络能在