RBF神经网络学习算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RBF神经网络及学习算法
RBF网络特点
只有一个隐层,且隐层神经元与输出层神经元的模型不同。 隐层节点激活函数为径向基函数,输出层节点激活函数为线 性函数。 隐层节点激活函数的净输入是输入向量与节点中心的距离 (范数)而非向量内积,且节点中心不可调。 隐层节点参数确定后,输出权值可通过解线性方程组得到。 隐层节点的非线性变换把线性不可分问题转化为线性可分问 题。 局部逼近网络(MLP是全局逼近网络),这意味着逼近一个输 入输出映射时,在相同逼近精度要求下,RBF所需的时间要 比MLP少。 具有唯一最佳逼近的特性,无局部极小。 合适的隐层节点数、节点中心和宽度不易确定。
径向基函数(RBF)
r2 1. Gauss(高斯)函数: r exp 2 2
r 2. 反演S型函数:
3. 拟多二次函数: r
1 r2 1 exp 2 1
r
2
2 1/ 2
σ 称为基函数的扩展常数 或宽度, σ越小,径向基 函数的宽度越小,基函数 就越有选择性。
全局逼近和局部逼近
当神经网络的一个或多个可 调参数(权值和阈值)对任何 一个输出都有影响,则称该 神经网络为全局逼近网络。 全局逼近网络 局部逼近网络 学习速度很慢,无法满足实时性要求的应用 学习速度快,有可能满足有实时性要求的应用 对网络输入空间的某个局 部区域只有少数几个连接 权影响网络的输出,则称 该网络为局部逼近网络
RBF网络的工作原理
函数逼近: 以任意精度逼近任一连续函数。一般函数都可表示成一组 基函数的线性组合,RBF网络相当于用隐层单元的输出构 成一组基函数,然后用输出层来进行线性组合,以完成 逼近功能。
分类: 解决非线性可分问题。RBF网络用隐层单元先将非线性可 分的输入空间设法变换到线性可分的特征空间(通常是高 维空间),然后用输出层来进行线性划分,完成分类功能。
RBF神经网络两种模型
正规化网络RN 通用逼近器
基本思想: 通过加入一个含有解的先验知识的约束来 控制映射函数的光滑性,若输入一输出映射 函数是光滑的,则重建问题的解是连续的, 意味着相似的输入对应着相似的输出。
广义网络GN
模式分类
基本思想: 用径向基函数作为隐单元的“基”,构成隐含 层空间。隐含层对输入向量进行变换,将低维 空间的模式变换到高维空间内,使得在低维 空间内的线性不可分问题在高维空间内线性可分。
两种模型的比较 RN
隐节点=输入样本数
GN
隐节点<输入样本数
所有输入样本设为 径向基函数的中心
径向基函数 取统一的扩展常数
径向基函数的中心 由训练算法确定
径向基函数的扩展常数 不再统一由训练算法确定 输出函数的线性中包含阈值参数, 用于补偿基函数在样本集上的 平均值与目标值之平均值之间的差别。
没有设置阈值
函数逼近问题(内插值)
一般函数都可表示成一组基函数的线性组合, RBF网络相当于用隐层单元的输出构成一组基函数, 然后用输出层来进行线性组合,以完成逼近功能。 ①给定样本数据 P { p1 , p2 pi pQ }, T {t , t t t } 1 2 i Q
②寻找函数,使其满足: t i F ( pi ) 1 i Q
G( P C1
p1 p2
pQ
G( P C2
w2
w1
F P
wQ
G( P CQ )
1.网络隐层使用Q个隐节点。 2.把所有Q个样本输入分别作为Q个隐节点的中心。 3.各基函数取相同的扩展常数。 4.确定权值可解线性方程组:
w G( p
j 1 j
Q
i
p j ) ti 1 i Q
ij G ( pi p j ) 设第j 个隐节点在第i个样本的输出为:
可矩阵表示: ,若R可逆,则解为 W 1T W T 根据Micchelli定理可得,如果隐节点激活函数采用 径向基函数,且p1 , p2 ,..., pQ 各不相同,则线性方程组 有唯一解。
RBF网络输出
举例:RBF网络实现函数逼近
1.问题的提出:假设如下的输入输出样本,输入向量为[-1 1] 区间上等间隔的数组成的向量P,相应的期望值向量为T。
P=-1:0.1:1; T=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609 0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 0.0988 0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201]; %以输入向量为横坐标,期望值为纵坐标,绘制训练用样本的数据点。 figure; plot(P,T,'+') title('训练样本') xlabel('输入矢量P') ylabel('目标矢量T') grid on %目的是找到一个函数能够满足这21个数据点的输入/输出关系,其中一个方法是通 过构建径向基函数网络来进行曲线拟合
2.网络设计:设计一个径向基函数网络,网络有两层,隐含层 为径向基神经元,输出层为线性神经元。
p=-3:0.1:3; a=radbas(p); figure; plot(p,a) title('径向基传递函数') xlabel('输入p') ylabel('输出a') grid on % 每一层神经元的权值和阈值都与径向基函数的位置和宽度有关系,输出层的线性神经元将 这些径向基函数的权值相加。如果隐含层神经元的数目足够,每一层的权值和阈值正确, 那么径向基函数网络就完全能够精确的逼近任意函数。 a2=radbas(p-1.5); a3=radbas(p+2); a4=a+a2*1+a3*0.5; figure; plot(p,a,'b-',p,a2,'b-',p,a3,'b-',p,a4,'m--'); title('径向基传递函数之和') xlabel('输入p') ylabel('输出a') grid on % 应用newb()函数可以快速构建一个径向基神经网络,并且网络自动根据输入向量和期望值 进行调整,从而进行函数逼近,预先设定均方差精度为eg以及散布常数sc。 eg=0.02; sc=1; net=newrb(P,T,eg,sc);
3.网络测试:将网络输出和期望值随输入向量变化 的曲线绘制在一张图上,就可以看出网络设计是 否能够做到函数逼近。 figure; plot(P,T,'+'); xlabel('输入'); X=-1:0.01:1; Y=sim(net,X); hold on; plot(X,Y); hold off; legend('目标','输出') grid on
分类问题
关于对单层感知器的讨论可知,若N维输入样本空间的样本 模式是线性可分的,总存在一个用线性方程描述的超平面, 使两类线性可分样本截然分开。若两类样本是非线性可分 的,则不存在一个这样的分类超平面。但根据 Cover 定理, 非线性可分问题可能通过非线性变换获得解决。
Cover定理可以定性地表述为:将复杂的模式分类问题非 线性地投射到高维空间将比投射到低维空间更可能是线性 可分的
空间转换
低维空间:线性不可分
高维空间:线性可分
举例:逻辑运算异或的分类
X1
Φ1(x)
w11
X2
Φ2(x)
∑
w11
Output y
XOR异或
X1 0 0 1 1
X2 0 1 0 1
X1X2 0 1 1 0
空间变换前
1 2 || X X || 基函数 ( X k , X i ) exp k i 2 2 i
1 x e
2 x
|| x u1 ||2
T
2 x e
|| x u2 ||2
u1 [1,1]
u 2 [0,0]
X1 0 0 1 1
T
1 x
空间变换后
X2 0 1 0 1
1 x 2 x
0.1353 0.3679 0.3679
1
0.3679 0.3679 0.1353
1
RBF学习算法
RBF学习的三个参数:①基函数的中心 t i i ②方差(扩展常数) ③隐含层与输出层间的权值 wij 当采用正归化RBF网络结构时,隐节点数即样本数,基函 数的数据中心即为样本本身,参数设计只需考虑扩展常数 和输出节点的权值。
当采用广义RBF网络结构时,RBF网络的学习算法应该解决 的问题包括:如何确定网络隐节点数,如何确定各径向基 函数的数据中心及扩展常数,以及如何修正输出权值。
两种方法中心的选取
1.中心从样本输入中选取
一般来说,样本密集的地方中心点可以适当多些,样本稀疏的地方 中心点可以少些;若数据本身是均匀分布的,中心点也可以均匀分 布。总之,选出的数据中心应具有代表性。径向基函数的扩展常数 是根据数据中心的散布而确定的,为了避免每个径向基函数太尖或 太平,一种选择方法是将所有径向基函数的扩展常数设为 dmax
2I
2.中心自组织选取
常采用各种动态聚类算法对数据中心进行自组织选择,在 学习过程中需对数据中心的位置进行动态调节。常用的方 法是K-means聚类,其优点是能根据各聚类中心之间的距 离确定各隐节点的扩展常数。由于RBF网的隐节点数对其 泛化能力有极大的影响,所以寻找能确定聚类数目的合理 方法,是聚类方法设计RBF网时需首先解决的问题。除聚 类算法外,还有梯度训练方法、资源分配网络(RAN)等
一. 自组织中心选取法
1989年,Moody和Darken提出了一种由两个阶段组成的混 合学习过程的思路。
两个步骤:①无监督的自组织学习阶段 ②有监督学习阶段
其任务是用自组织聚类方法为隐 层节点的径向基函数确定合适的 数据中心,并根据各中心之间的 距离确定隐节点的扩展常数。 一般采用Duda和Hart1973年提 出的k-means聚类算法。
其任务是用有监督 学习算法训练输出 层权值,一般采用 梯度法进行训练。
1.中心学习
在聚类确定数据中心的位置之前,需要先 估计中心的个数 I (从而确定了隐节点数),一 般需要通过试验来决定。由于聚类得到的数据 中心不是样本数据 X 本身,因此用t i (n)表示第n 次迭代时的中心。应用K-means聚类算法确 定数据中心的过程如下。 (1)初始化。选择 I 个互不相同的向量作为初 始聚类中心t i (0)(i 1,2,3, I ) (2)计算输入空间各样本点与聚类中心点的欧 式距离 X k t i (n) (k 1,2,3, N ) (i 1,2,3, I )
(3)相似匹配。令 i 代表竞争获胜隐节点的下 标,对每一个输入样本 X k 根据其与聚类中 i 心的最小欧式距离确定其归类 ( X k ) ,即当 i ( X k ) min X k t i (n) 时, X k 被归为第i 类,从 i 而将全部样本划分为 I 个子集 U1 (n),U 2 (n),U I (n) 每个子集构成一个以聚类中心为典型代表 的聚类域。
(4)更新各类的聚类中心。采用竞争学习规 则进行调整 t i (n) X k t i (n) i i t i (n 1) t i (n), 其他
将n值加1,转到第(2)步。重复上述过程直到。 t i (n 1) t i (n)
2.确定扩展常数
各聚类中心确定后,可根据各中心之间的距 离确定对应径向基函数的扩展常数。令
d i min t i t p
p
则扩展常数可取为 i d i
为重叠系数
3.学习权值
权值的学习可以用LMS学习算法 注意:①LMS算法的输入为RBF网络隐含层的输出 ②RBF网络输出层的神经元只是对隐含层 神经元的输出加权和。 因此RBF网络的实际输出为 Y n G n W n 奇异矩阵或非方阵的矩阵不 存在逆矩阵,若 其中 Y n y kj n , k 1,2,, N ; j 1,2, J XAX=A,AXA=X 则X称为 A的伪逆阵。在 用LMS方法求解 W n 1 matlab W n 中用 X n e n T 用伪逆方法求解pinv(A)求伪逆
RBF网络特点
只有一个隐层,且隐层神经元与输出层神经元的模型不同。 隐层节点激活函数为径向基函数,输出层节点激活函数为线 性函数。 隐层节点激活函数的净输入是输入向量与节点中心的距离 (范数)而非向量内积,且节点中心不可调。 隐层节点参数确定后,输出权值可通过解线性方程组得到。 隐层节点的非线性变换把线性不可分问题转化为线性可分问 题。 局部逼近网络(MLP是全局逼近网络),这意味着逼近一个输 入输出映射时,在相同逼近精度要求下,RBF所需的时间要 比MLP少。 具有唯一最佳逼近的特性,无局部极小。 合适的隐层节点数、节点中心和宽度不易确定。
径向基函数(RBF)
r2 1. Gauss(高斯)函数: r exp 2 2
r 2. 反演S型函数:
3. 拟多二次函数: r
1 r2 1 exp 2 1
r
2
2 1/ 2
σ 称为基函数的扩展常数 或宽度, σ越小,径向基 函数的宽度越小,基函数 就越有选择性。
全局逼近和局部逼近
当神经网络的一个或多个可 调参数(权值和阈值)对任何 一个输出都有影响,则称该 神经网络为全局逼近网络。 全局逼近网络 局部逼近网络 学习速度很慢,无法满足实时性要求的应用 学习速度快,有可能满足有实时性要求的应用 对网络输入空间的某个局 部区域只有少数几个连接 权影响网络的输出,则称 该网络为局部逼近网络
RBF网络的工作原理
函数逼近: 以任意精度逼近任一连续函数。一般函数都可表示成一组 基函数的线性组合,RBF网络相当于用隐层单元的输出构 成一组基函数,然后用输出层来进行线性组合,以完成 逼近功能。
分类: 解决非线性可分问题。RBF网络用隐层单元先将非线性可 分的输入空间设法变换到线性可分的特征空间(通常是高 维空间),然后用输出层来进行线性划分,完成分类功能。
RBF神经网络两种模型
正规化网络RN 通用逼近器
基本思想: 通过加入一个含有解的先验知识的约束来 控制映射函数的光滑性,若输入一输出映射 函数是光滑的,则重建问题的解是连续的, 意味着相似的输入对应着相似的输出。
广义网络GN
模式分类
基本思想: 用径向基函数作为隐单元的“基”,构成隐含 层空间。隐含层对输入向量进行变换,将低维 空间的模式变换到高维空间内,使得在低维 空间内的线性不可分问题在高维空间内线性可分。
两种模型的比较 RN
隐节点=输入样本数
GN
隐节点<输入样本数
所有输入样本设为 径向基函数的中心
径向基函数 取统一的扩展常数
径向基函数的中心 由训练算法确定
径向基函数的扩展常数 不再统一由训练算法确定 输出函数的线性中包含阈值参数, 用于补偿基函数在样本集上的 平均值与目标值之平均值之间的差别。
没有设置阈值
函数逼近问题(内插值)
一般函数都可表示成一组基函数的线性组合, RBF网络相当于用隐层单元的输出构成一组基函数, 然后用输出层来进行线性组合,以完成逼近功能。 ①给定样本数据 P { p1 , p2 pi pQ }, T {t , t t t } 1 2 i Q
②寻找函数,使其满足: t i F ( pi ) 1 i Q
G( P C1
p1 p2
pQ
G( P C2
w2
w1
F P
wQ
G( P CQ )
1.网络隐层使用Q个隐节点。 2.把所有Q个样本输入分别作为Q个隐节点的中心。 3.各基函数取相同的扩展常数。 4.确定权值可解线性方程组:
w G( p
j 1 j
Q
i
p j ) ti 1 i Q
ij G ( pi p j ) 设第j 个隐节点在第i个样本的输出为:
可矩阵表示: ,若R可逆,则解为 W 1T W T 根据Micchelli定理可得,如果隐节点激活函数采用 径向基函数,且p1 , p2 ,..., pQ 各不相同,则线性方程组 有唯一解。
RBF网络输出
举例:RBF网络实现函数逼近
1.问题的提出:假设如下的输入输出样本,输入向量为[-1 1] 区间上等间隔的数组成的向量P,相应的期望值向量为T。
P=-1:0.1:1; T=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609 0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 0.0988 0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201]; %以输入向量为横坐标,期望值为纵坐标,绘制训练用样本的数据点。 figure; plot(P,T,'+') title('训练样本') xlabel('输入矢量P') ylabel('目标矢量T') grid on %目的是找到一个函数能够满足这21个数据点的输入/输出关系,其中一个方法是通 过构建径向基函数网络来进行曲线拟合
2.网络设计:设计一个径向基函数网络,网络有两层,隐含层 为径向基神经元,输出层为线性神经元。
p=-3:0.1:3; a=radbas(p); figure; plot(p,a) title('径向基传递函数') xlabel('输入p') ylabel('输出a') grid on % 每一层神经元的权值和阈值都与径向基函数的位置和宽度有关系,输出层的线性神经元将 这些径向基函数的权值相加。如果隐含层神经元的数目足够,每一层的权值和阈值正确, 那么径向基函数网络就完全能够精确的逼近任意函数。 a2=radbas(p-1.5); a3=radbas(p+2); a4=a+a2*1+a3*0.5; figure; plot(p,a,'b-',p,a2,'b-',p,a3,'b-',p,a4,'m--'); title('径向基传递函数之和') xlabel('输入p') ylabel('输出a') grid on % 应用newb()函数可以快速构建一个径向基神经网络,并且网络自动根据输入向量和期望值 进行调整,从而进行函数逼近,预先设定均方差精度为eg以及散布常数sc。 eg=0.02; sc=1; net=newrb(P,T,eg,sc);
3.网络测试:将网络输出和期望值随输入向量变化 的曲线绘制在一张图上,就可以看出网络设计是 否能够做到函数逼近。 figure; plot(P,T,'+'); xlabel('输入'); X=-1:0.01:1; Y=sim(net,X); hold on; plot(X,Y); hold off; legend('目标','输出') grid on
分类问题
关于对单层感知器的讨论可知,若N维输入样本空间的样本 模式是线性可分的,总存在一个用线性方程描述的超平面, 使两类线性可分样本截然分开。若两类样本是非线性可分 的,则不存在一个这样的分类超平面。但根据 Cover 定理, 非线性可分问题可能通过非线性变换获得解决。
Cover定理可以定性地表述为:将复杂的模式分类问题非 线性地投射到高维空间将比投射到低维空间更可能是线性 可分的
空间转换
低维空间:线性不可分
高维空间:线性可分
举例:逻辑运算异或的分类
X1
Φ1(x)
w11
X2
Φ2(x)
∑
w11
Output y
XOR异或
X1 0 0 1 1
X2 0 1 0 1
X1X2 0 1 1 0
空间变换前
1 2 || X X || 基函数 ( X k , X i ) exp k i 2 2 i
1 x e
2 x
|| x u1 ||2
T
2 x e
|| x u2 ||2
u1 [1,1]
u 2 [0,0]
X1 0 0 1 1
T
1 x
空间变换后
X2 0 1 0 1
1 x 2 x
0.1353 0.3679 0.3679
1
0.3679 0.3679 0.1353
1
RBF学习算法
RBF学习的三个参数:①基函数的中心 t i i ②方差(扩展常数) ③隐含层与输出层间的权值 wij 当采用正归化RBF网络结构时,隐节点数即样本数,基函 数的数据中心即为样本本身,参数设计只需考虑扩展常数 和输出节点的权值。
当采用广义RBF网络结构时,RBF网络的学习算法应该解决 的问题包括:如何确定网络隐节点数,如何确定各径向基 函数的数据中心及扩展常数,以及如何修正输出权值。
两种方法中心的选取
1.中心从样本输入中选取
一般来说,样本密集的地方中心点可以适当多些,样本稀疏的地方 中心点可以少些;若数据本身是均匀分布的,中心点也可以均匀分 布。总之,选出的数据中心应具有代表性。径向基函数的扩展常数 是根据数据中心的散布而确定的,为了避免每个径向基函数太尖或 太平,一种选择方法是将所有径向基函数的扩展常数设为 dmax
2I
2.中心自组织选取
常采用各种动态聚类算法对数据中心进行自组织选择,在 学习过程中需对数据中心的位置进行动态调节。常用的方 法是K-means聚类,其优点是能根据各聚类中心之间的距 离确定各隐节点的扩展常数。由于RBF网的隐节点数对其 泛化能力有极大的影响,所以寻找能确定聚类数目的合理 方法,是聚类方法设计RBF网时需首先解决的问题。除聚 类算法外,还有梯度训练方法、资源分配网络(RAN)等
一. 自组织中心选取法
1989年,Moody和Darken提出了一种由两个阶段组成的混 合学习过程的思路。
两个步骤:①无监督的自组织学习阶段 ②有监督学习阶段
其任务是用自组织聚类方法为隐 层节点的径向基函数确定合适的 数据中心,并根据各中心之间的 距离确定隐节点的扩展常数。 一般采用Duda和Hart1973年提 出的k-means聚类算法。
其任务是用有监督 学习算法训练输出 层权值,一般采用 梯度法进行训练。
1.中心学习
在聚类确定数据中心的位置之前,需要先 估计中心的个数 I (从而确定了隐节点数),一 般需要通过试验来决定。由于聚类得到的数据 中心不是样本数据 X 本身,因此用t i (n)表示第n 次迭代时的中心。应用K-means聚类算法确 定数据中心的过程如下。 (1)初始化。选择 I 个互不相同的向量作为初 始聚类中心t i (0)(i 1,2,3, I ) (2)计算输入空间各样本点与聚类中心点的欧 式距离 X k t i (n) (k 1,2,3, N ) (i 1,2,3, I )
(3)相似匹配。令 i 代表竞争获胜隐节点的下 标,对每一个输入样本 X k 根据其与聚类中 i 心的最小欧式距离确定其归类 ( X k ) ,即当 i ( X k ) min X k t i (n) 时, X k 被归为第i 类,从 i 而将全部样本划分为 I 个子集 U1 (n),U 2 (n),U I (n) 每个子集构成一个以聚类中心为典型代表 的聚类域。
(4)更新各类的聚类中心。采用竞争学习规 则进行调整 t i (n) X k t i (n) i i t i (n 1) t i (n), 其他
将n值加1,转到第(2)步。重复上述过程直到。 t i (n 1) t i (n)
2.确定扩展常数
各聚类中心确定后,可根据各中心之间的距 离确定对应径向基函数的扩展常数。令
d i min t i t p
p
则扩展常数可取为 i d i
为重叠系数
3.学习权值
权值的学习可以用LMS学习算法 注意:①LMS算法的输入为RBF网络隐含层的输出 ②RBF网络输出层的神经元只是对隐含层 神经元的输出加权和。 因此RBF网络的实际输出为 Y n G n W n 奇异矩阵或非方阵的矩阵不 存在逆矩阵,若 其中 Y n y kj n , k 1,2,, N ; j 1,2, J XAX=A,AXA=X 则X称为 A的伪逆阵。在 用LMS方法求解 W n 1 matlab W n 中用 X n e n T 用伪逆方法求解pinv(A)求伪逆