最小RBF网设计的进化优选算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最小RBF网设计的进化优选算法
及其在动力配煤过程状态预测建模中的应用
魏海坤,徐嗣鑫,宋文忠,吴福保
(东南大学自动化研究所,江苏南京 210096)
摘要:文中提出一种RBF网设计的进化优选算法,该算法能设计出满足给定学习精度的最小RBF网络,从而使所得到的RBF网具有较好的泛化能力。
我们以煤灰软化温度预测为例,介绍了如何将该算法应用于动力配煤过程的状态预测建模。
我们还把ESA算法与另外2
种最常见的RBF网设计方法,即聚类方法和OLS算法作了比较,结果表明,用进化优选算法设计的RBF网模型具有最好的泛化能力。
关键词:RBF网;泛化能力;动力配煤;建模
1 引言
动力配煤是发展洁净煤技术的有效途径之一。
所谓动力配煤,就是将2种或多种单煤按一定比例混合加工,形成混煤,并在混煤的媒质指标满足用户要求的前提下,使生产成本达到最小。
由于混煤燃烧过程的复杂性,混煤成分及媒质指标往往不等于各单煤成分及媒质指标按配比简单加权平均,而且某些媒质指标与煤成分之间的关系也有待进一步研究。
所以,建立配煤过程状态预测模型,是成功配煤的前提。
由于传统的加权平均方法或经验回归公式的预测效果不太理想,殷春根等人使用BP 网对上述状态预测问题建模,并获得了较好的效果[1,2]。
但是,BP网本身依然存在许多问题:易陷入局部最小点,收敛速度较慢,很难确定学习精度,结构设计困难等。
给基于BP网的动力配煤过程状态预测建模带来了难度。
事实上,径向基函数网(RBF网)更适合于函数逼近和非线性系统建模[3]。
使用RBF
网时也存在结构设计问题,但根据Moody准则,在相同的学习精度下,当神经网络中的有效参数越少,神经网络的泛化能力就越好[4]。
所以,应设计满足给定精度的最小结构RBF 网,即选择最少数目的隐节点,以保证RBF网的泛化能力。
设计RBF网的最常用算法是聚类方法[5]和正交最小二乘算法[6](OLS算法)。
OLS算法能自动设计满足精度要求的网络结构,但学习精度无法确定,且往往不能设计出最小结构的RBF网[7];聚类方法的隐节点数据中心通过对样本输入聚类产生,不存在设定学习精度的问题,但对确定隐节点数(即聚类数)却没有好的方法。
当然我们可以用
Cross-Validation方法确定最优聚类数,但此时由于不能把所有样本都用于网络训练,所设计的RBF网的泛化能力便会受到影响。
针对上述问题,本文提出一种RBF网设计的进化优选算法(ESA算法)。
ESA算法也从样本输入中选取数据中心,RBF函数也采用最常见的高斯型函数,但ESA算法能设计出满足给定精度的最小RBF网。
由于设定合理的学习精度很重要,我们还给出一种确定ESA
算法学习精度的工程方法。
2 OLS算法的学习机理
RBF网是一种三层前向网(见图1),图中X=(x
1,x
2
,…,x
n
)T∈R n为输入矢量,W=(w
1
,
w 2,…,w
m
)T∈R m为输出权矢量,w
为输出单元偏移量,f(X)为网络输出,Ψ(*)为径向基函
数(RBF
如果知道了网络的隐节点数及数据中心,RBF网从输入到输出就成了一个线性方程组,此时输出权值可用最小二乘法求解。
所以RBF网设计的关键,是如何确定满足精度要求的最少的隐节点数及相应的数据中心。
但是,尽管OLS算法所设计的网络能满足学习精度,但却并不保证能找到最小结构[7]。
2.1 OLS算法的数学描述
假定共有N个训练样本,其输入为S=(X
1,X
2
,…,X
N
),相应的样本输出(教师信号)
为t=(y
1,y
2
,…,y
N
)。
RBF网的学习问题,就找到最优个数的一组数据中心及相应的一
组权值,使样本输入后的网络输出能以给定精度逼近教师信号。
如前所述,数据中心从样本输入数据中选取。
如果把所有的样本输入选为RBF网的数据中心,则网络有N个隐节点,且隐节点的输出都可以确定下来。
当输入为X
i
,i=1,2,…,N时,第j个隐节点的输出为:
h
ij =Ψ(‖X
i
-C
j
‖)(1)
式中C
j =X
j
为该隐节点RBF函数的数据中心。
于是可定义RBF网的隐层输出阵为H=[h
ij
],
H∈R N×N。
此时RBF网的输出为:
此时RBF网在样本输入点的输出等于教师信号。
但样本较多(N值较大)或样本输出含噪声时,上述方案就不很现实。
一种解决方法是从H的N个列矢量中找出M≤N个矢量构成H^∈R N×M,使(3)式能由下式逼近:
显然,选择不同的H^,直接影响着RBF网的性能。
为了描述什么样的H^才是“最优的”,先引入排列阵和选择阵的概念:
定义1[7]H′∈R N×N 是H的一个排列阵,如果H′的每一个列矢量都是H中的不同的列矢量。
H′与H仅有列矢量的排列次序不同,即
H′=HP (9)
式中P为单位阵I
N
的一个排列阵。
H总共可以有N!个不同的排列阵。
定义2[7]S∈R N×M 是一个选择阵,如果其M个列矢量由(9)中P的M个列矢量组成。
选择阵右乘H,即可选择H的某些特定列。
借助选择阵的概念,(6)式可表示为
可见,ε是S和y的函数:ε=g(S,y)。
在设计RBF网时,通常是给定一个逼近精度ε
0及一组样本数据,要求设计出满足精度要求的具有最小结构的网络。
于是我们可以给出最优选择阵的定义:
定义3给定一个逼近精度ε
,令集合C=
选择阵S的列矢量数,则称S
0是H的一个最优选择阵。
最优选择阵是满足ε<ε
的所有选
择阵中具有最少列矢量的选择阵。
由于H^的列矢量数M就是RBF网的隐节点数,故找到了最优选择阵,也就能设计出最小RBF网。
综上所述,可给出如下结论:如果数据中心从样本输入中选取,则RBF网的最小结构设计问题,等价于给定逼近精度下寻找最优选择阵。
再给出选择路径的定义:
定义4行矢量O=[o
1,o
2
,…,o
N
]称为H的一条选择路径,如果o
i
∈{1,2,…,N},
i=1,2,…,N,且i≠j时,o
i ≠o
j。
o
i
表示H的列矢量被选中的次序。
H的一条选择路径实际上对应着H的一个排列阵,
所以H也有N!条选择路径。
如果选择路径O的前d个元素O
d =[o
1
,o
2
,…,o
d
],d≤N,
所对应的选择阵S也能满足ε<ε
时,称路径O是可缩简的,当d缩简至最小时,称此时
的d为路径O的有效长度。
如果路径O在H的所有选择路径中具有最短的有效长度,则O
的缩简路径O
d
所对应的选择阵便是最优选择阵。
2.2 OLS算法的不足
OLS算法对H的列选择是在对H作Gram-Schmidt正交化的过程中实现的。
步骤如下:
首先,令H的N个列矢量为P1
1,P2
1
,…,PN
1
,它们构成N维欧氏空间E H
N
,把输出数据矢
量y投影到P1
1,P2
1
,…,PN
1
上,如果某个P k
1
具有最大的投影(对y有最大能量贡献),则
把P k
1选为第一个数据中心,P k
1
构成一维欧氏空间E1;第二步,对剩下的N-1个矢量作
Gram-Schmidt正交化,使之正交于E1,得到P1
2,P2
2
,…,P N-1
2
,再找出与y有最大投影
的P j
2,并选择P j
1
为第二个数据中心;重复以上步骤直至找到M个数据中心,使它们的能
量贡献之和达到给定精度为止。
OLS算法与主成分分析方法在形式上类似,故文[7]把OLS算法与主成分分析方法作了比较后发现,由于H的列矢量不是正交的,它们对y的能量贡献也相互影响,尽管OLS算法在每一步都试图找到有最大能量贡献的基矢量,但这并不保证最终能找到最少个
数的基矢量组。
也就是说,即使某一选择路径O=[o
1,o
2
,…,o
N
]中的某个o
k
所对应
的P j
k
不能给出最大的能量,沿着这条路径依然有可能找到一条最优选择路径。
3 进化优选算法(ESA)
进化优选算法(ESA算法)利用进化策略在解空间对选择路径进行多点随机搜索,由于所有选择路径都可能被搜索到,使它有可能找到全局最优解。
3.1 进化策略简述
进化策略[8]是一种简单高效的启发式多点随机搜索算法,它只用到了进化论中竞争和淘汰的概念,通过不断的竞争和淘汰,使群体的适应度不断提高。
最常见的(μ+λ)型进化策略概要为:首先在解空间内随机生成μ个候补解,成为第一代亲体;然后在每个亲体周围再随机生成λ-1个子个体(群体内个体总数为μ*λ);通过竞争从群体内选择μ个最好的个体,作为下一代亲体,其余个体则被淘汰。
随着上述过程的不断进行,群体的适应度便不断提高,直至满足终止条件。
最终代内具有最佳适应度的个体便是优化问题的解。
3.2 选择路径的进化机制
编码:ESA算法中,一条选择路径代表一个个体。
如果RBF网的输出阵H的列矢量是N维的,则共有N!条选择路径,它们组成了解空间。
适应度函数:选择路径的有效长度d越大,该选择路径的适应度就越低。
如果两条选择路径的有效长度相同,则逼近精度ε更小的路径具有更高的适应度。
通常d≥1,于是可取适应度函数
式中O=[o
1,o
2
,…,o
N
]为选择路径;K为一实数,0≤Kε<1,以避免ε较大或较小时产
生计算上的问题。
d值计算方法如下:假定缩简路径O
i =[o
1
,o
2
,…,o
i
]对应的选择阵为S
i
,令i从
1到N逐渐增加,如i=k时的选择阵第一次满足ε<ε
,则d=k。
学习结束后,如果多条路径的有效长度和逼近精度都相同,且它们只有元素排列顺序的不同,则它们对应同一个RBF网。
子个体产生:令O=[o
1,o
2
,…,o
N
]为亲体,随机产生两个位置i,j≤N,交换o
i
和o
j
的位置,便可产生一个子个体,我们称该过程为变异。
当路径矢量的维数较高时,产生一个子个体也可以经多次变异得到。
称变异次数与路径矢量的维数之比为变异率。
变异率可以大于1。
有了上述概念,ESA算法便可按(μ+λ)型进化策略的步骤寻找最优选择路径,从而设计出最小结构的RBF网。
3.3 确定算法的学习精度和扩展常数
尽管ESA算法能自动设计满足精度要求的ε
最小RBF网,但该算法能成功应用的前
提是给出合理的ε
0。
当ε
较小时,ESA算法将选择更多的隐节点;而当ε
较大时,ESA
算法将设计出较小结构的RBF网。
由于RBF网能以任意精度逼近紧集上的实连续函数,而
训练样本中总是含有噪声,因此当ε
过小时,神经网络将拟合数据中的噪声,产生过拟
合;ε
也不能选得过大,因为此时RBF网将无法逼近目标函数,产生欠拟合。
过拟合和欠拟合都会影响RBF网的泛化能力。
另外,RBF函数的扩展δ常数也是ESA算法的重要参数,如果该参数值取值不当,也会影响RBF网的泛化能力。
在聚类方法设计RBF网时,尽管隐节点数需要预先确定,但可以不必预先知道学习精
度。
利用这一特点,我们可以确定ESA算法的δ值和ε
值:把所有数据分成训练集和测试集,然后用聚类方法设计RBF网,得到使网络测试误差最小的δ和此时的测试样本输出噪声方差ζ,并由此方差计算ESA方法的学习精度。
假如总样本数为N,其中训练样本
数为N
1,测试误差最小时的训练误差为E
Train
,则ζ=E
Train
/N
1
,于是学习精度可定为ε
=Nζ
=E*
Train N/N
1。
在上述方法中,当测试样本数占总样本数的比例为25%左右时,神经网络的泛化能力较好[9]。
在聚类方法设计RBF网时,我们用Cohonen[10]的SOFM方法对训练样本的输入进行聚类。
4 煤过程状态预测的最小RBF网建模
此处以煤灰软化温度预测为例,介绍如何用ESA算法实现动力配煤过程状态预测的最小RBF网建模,并把ESA算法与聚类方法和OLS方法作对比。
4.1 煤灰软化温度预测建模
煤灰中含有多种氧化物,如SiO
2、Al
2
O
3
、Fe
2
O
3
、CaO、MgO、TiO
2
、K
2
O和Na
2
O等,它
们的含量决定了煤灰的软化温度。
故所设计的RBF网为8输入1输出结构,其中8个输入分别为上述氧化物含量,输出为软化温度预测值。
共有样本205个,均通过试验获得。
为了使用ESA算法,我们必须先确定一个合理的学习精度。
根据前一节的理论,我们用前155个样本进行训练,后50个样本进行测试。
图2演示了聚类方法设计的RBF网的测试误差和扩展常数、隐节点数间的关系。
对应图2中的曲线3(14个隐节点),测试误差最小时,扩展常数δ=9.25,训练误差
(误差平方和)为E
Train =3.4639×105。
于是此时的噪声方差为ζ=E
Train
/155=2.2348×103,
根据该方差可得ε
=205ζ=4.5812×105,并选定扩展常数为δ=9.25。
根据以上的δ和ε
值,便可以用ESA算法拟合所有205个样本,最终得到的RBF
网有11个隐节点,其数据中心和输出权值如表1所示,输出接点的偏移值为w
=1388.6。
ESA算法的亲体数取10,每个个体产生9个子个体,变异率为0.7,故每一代群体数为100,总进化30代后结束。
4.2 聚类方法、ESA算法和OLS算法的性能比较
ESA算法的性能显然是一个令人关心的问题。
针对同一建模问题,本节对聚类方法、OLS算法和ESA作了比较。
为测试ESA算法的泛化能力,我们从所有样本中预留最后50
个样本作为最终测试集S
Test2,而令最前的105个样本为训练样本集S
Train
,中间的50样本
为测试样本集S
Test1。
此时ESA算法的学习精度,方法如前所述。
用聚类方法设计RBF网,即用S
Train 训练网络,并使网络对S
Test1
的测试误差最小。
结
果发现,测试误差最小时的隐节点数为25,扩展常数δ=8.25,而此时RBF网的训练误差为E
Train
=1.0473×105。
用OLS和ESA算法训练RBF网。
如果只用S
Train
,则OLS和ESA算法的学习参数为δ=
8.25,ε
0=E
Train
=1.0473×105。
三种方法所设计的神经网络的隐节点数、实际训练误差和对两个测试集的测试误差如表2所示。
由表2可见,对测试样本集S
Test1
,聚类方法所设计的RBF网隐节点数不是最少,但却有最小的测试误差;ESA算法设计的RBF网的测试误差略小于聚类方法,这是因为ESA方法中用到的扩展常数δ是聚类方法下的最优值,当RBF网的数据中心从样本输入中选取时,该参数就成了次优的了,但此时的RBF网仍有较好的泛化能力,因为它有最少的隐节点数;OLS算法由于其隐节点数较多,故其泛化能力较差。
但是,OLS和ESA方法可以把所有样本都用于神经网络训练,即它们的训练样本集可
以是155个样本(S
Train +S
Test1
)。
如果将测试样本集S
Test1
加入S
Train
进行训练,仍令学习参数
为δ=8.25,并定义OLS方法和ESA方法的学习精度为ε
=(1.4073×105)/105×155=2.0774×105此时三种方法的学习结果如表3所示。
由表3可见,聚类方法由于不能把所有数据都用于神经网络训练,故影响了它的泛化误差;OLS方法的性能依然最糟糕;ESA算法需要给定适当的学习精度和扩展常数,但是,如果用聚类方法先得到学习精度和扩展常数,则可以使用所有样本数据,因此所设计的RBF网便有更好的泛化能力。
上述试验结果也证实了ESA方法确实在三种方法中具有最佳的泛化能力。
5 结束语
本文提出了一种最小RBF网设计的ESA算法。
该算法不仅能设计出满足给定学习精度的最小RBF网,还能将所有样本都用于神经网络训练。
我们以煤灰软化温度预测为例,介
绍了如何将该算法用于动力配煤过程的状态预测建模,包括如何选取RBF网的扩展常数和学习精度,并把ESA算法与另外两种最常见的RBF网设计方法,即聚类方法和OLS算法作了比较,结果表明,ESA算法所设计的RBF网模型具有最好的泛化能力。
ESA方法的最大缺点显然是其学习速度较低,这也是大部分启发式搜索算法的通病。
但是由于该算法的令人满意的泛化能力,在实时性要求不高或离线学习的情况下依然是一种好的选择。
参考文献:
[1]殷春根,骆仲泱,岑可法,等.人工神经网络在配煤过程状态建模中的应用研究[J]. 工程热物理学报, 1998, 19(5): 637-641.
[2]殷春根,周俊虎,骆仲泱,等.人工神经网络方法在优化动力配煤中的应用研究[J].煤炭学报,1997, 22(4):343-348.
[3]王旭东,邵惠鹤. RBF神经网络理论及其在控制中的应用[J]. 信息与控制,1997,26(4),272-283.
[4]Moody J.The effective number of parameters:an analysis of generalization and regularization in nonlinear learning system[C].NIPS 4,San Mateo,CA,1992,847-854.
[5]Moody J.And Darken C. Fast learning in networks of locally-tuned processing units[J].Neural Computation.1989,(1): 281-294.
[6]Chen S, Cowan C F N,Grant P M. Orthogonal least squares learning algorithms for radial basis function networks[J].IEEE Trans Neural Networks,1991,2(2),302-309.
[7]Sherstinsky A,Picard R W. On the efficiency of the orthogonal least squares training method for radial basis function networks[J].IEEE Trans Neural Networks,1996,7(1):95-200.
[8]Schwefel H P.On the evolution of evolutionary computation.in: zurada JM,MarkII R J, Robinson C J eds. Computational Intelligence: Imitating Life[J].New York: IEEE Press,1994:116-124.
[9]Kearns M. A bound on the error of cross validation using the approximation and estimation rates, with consequences for the training-test split[J].Neural Computation,1997,(9):1143-1161.
[10]Kohonen T. Self-organization and Associative Memory[R].Springer-Verlag,Berlin,1984.。