FBSBNN控制结构的改进学习算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FBSBNN控制结构的改进学习算法
谷雨明1,边二华2
(东北大学机械工程与自动化学院辽宁沈阳 110004)
(河南省信阳市长安路237号信阳师范学院,河南信阳464000)
[摘要] FBSBNN控制结构既具有模糊计算的定性表述能力,又兼备神经网络的学习能力,同时隶属度函数又采用了具有局部调控能力的B样条基函数,使得此控制结构有了较好的控制性能。
对此结构的相关研究也提出的一些学习算法,如基于GA和BP的混合算法①和蚁群优化算法②等,但总体效果还是受限于BP的缺点,本文利用改进的粒群优化算法来训练FBSBNN,仿真表明,改进的粒群优化算法能提高网络的学习速率,使得控制系统更易实现实时控制,也证明了此改进算法对训练神经网络参量的有效性和可行性。
[关键词] FBSBNN;粒群算法;优化
[中图分类号] TP138
1.引言
基于B样条基的模糊神经网络控制结构,结合了神经网络的学习能力和模糊计算的定性表达能力,利用神经网络的学习能力调整隶属度函数和模糊规则,弥补了模糊计算的缺陷,采用模糊计算的模糊表述扩展了神经网络的实用范围。
把B样条基作为模糊计算的隶属度函数,又充分利用了B样条基函数的局部调控能力③,使得该结构有很好的鲁棒性和学习能力。
本文利用改进的粒群算法来训练FBSBNN控制器,仿真表明,改进的粒群优化算法能提高网络的学习速率,对控制系统实现实时控制有帮助,同时也证明了此改进算法的有效性和可行性。
2.FBSNN控制器结构
2.1 控制结构原理图
图1 FBSBNN控制结构
Fig.1The FBSBNN Control structure
图中的模糊神经网络结构表示意思如下:
第一层将输入引入网络,每个输入的论域均为[-1,1],
i
k
i
k
i
k x
in
out=
=)1(
)1()2,1
;2,1
(=
=i
k(1)第二层对输入进行模糊化处理,采用B 样条基函数作为隶属度函数,可以描述为,
)
(
)
(
1
2,j
z
p
p
p
j
A
x
N
c
x
i
j
∑−
=
=
μ(2) 定义在Z上B样条基隶属度函数有9个控制点,其值依次为{1,0.75,0.5,0.25,0,0,0,0,0},该函数的表达式为,
[)
[]
⎩
⎨
⎧
∈
−
∈
=
1,0
0,1
)
(
x
x
x
x
N
μ (3)
定义在Z上B样条基隶属度函数有9个控制点,其值依次为{0,0.25,0.5,0.75,1,0.75,0.5,0.25,0},该函数的表达式为,
[)
[]
⎩
⎨
⎧
∈
−
−
∈
+
=
1,0
1
0,1
1
)
(
x
x
x
x
x
z
μ (4)
定义在P上B样条基隶属度函数有9个控制点,其值依次为{0,0,0,0,0,0.25,0.5,0.75,1},该函数的表达式为,
[)
[]
⎩⎨
⎧∈−∈=1,00,10
)(x x
x x P μ (5)
如图所示,
图2 B 样条基隶属度函数 Fig.2 B Spline basis fuzzzy membership
function 下图表示了控制点的调整情况,通过对
进行调整,可以达到改变B 样条函数的
目的。
p
c
图3 B 样条函数控制点 Fig.3 B Spline control points 第二层的输入输出表达式为:
)
3,2,1;2,1;2,1()
()1()2()2(=====j i k out in out i k k ij k ij k
j A
μ (6)
第三层代表“与”操作,
)
3,2,1;3,2,1;2,1()2(2)2(133
===∗==j i k out
out in out j
k
i
k
ij
k
ij
k
(7)
第四层代表去模糊过程,采用加权平均判决法,
)2,1()(
)3(3
1
,)3()
4(=⋅=
∑=k out in
ij
k
j i ij k
k
ω (8)
)2,1(3
1
,)
3()
4()4(===∑
=k out in out j i ij k
ij
k ij k k μ (9)
3.粒群优化算法
粒子群优化算法(Particle Swarm Optimization, PSO)是在1995年由美国社会心理学家 James Kennedy 博士和电气工程师 Russell Eberhart 博士共同提出的,它是建立在模拟鸟群社会的基础上的,是以邻域原理为基础进行操作的,是一种群体搜索方
法。
PSO 的基本概念源于对人工生命(Artificial Life)和鸟群捕食行为的研究,其基本思想是受他们早期对鸟类群体行为研究结果的启发,并利用了生物学家 Frank Heppner 的生物群体模型。
在粒群优化中被称为粒子的个体是通过超维搜索空间流动的。
粒子在搜索空间中的位置变化是个体成功的超过其他个体的社会心理意向为基础的。
因此群中粒子的变化是受其相邻近粒子个体的经验或知识影响的。
一个粒子的搜索
行为受到群中其他粒子的搜索行为的影响。
因此可见,粒子随机的回到搜索空间中一个原先成功的区域。
粒群算法没有遗传算法那样多许多参
数需要调整,更易实现,且收敛速度快④。
3.1基本算法步骤
1. 对粒群初始化,使得是每
个粒子)(t P 0=t )(t P P i ∈在超维空间中的位置
是随机的。
)(t x i 2. 通过每个粒子的当前位置评价其性能
F 3. 比较每个个体的当前性能与它至今有过的最佳性能,通过比较结果,如果
pbest t x F i <))((r
,那么
))((t x F pbest i r
= (10)
)(t x x i pbest = (11)
比较每个个体的当前性能与全局至今有过的最佳性能,如果
,
gbest t x F i <))((r
那么))((t x F gbest i r
= (12)
)(t x x i gbest = (13)
4. 改变每个粒子速度矢量,
))
(())(()1()(21t x x t x x t v t v i gbest i pbest i i −+
−+−=ρρ(14)
5. 每个粒子移至新位置,
)()1()(t v t x t x i i i +−=, (15)
1+=t t 6. 转回第二步重复递归 ,直至收敛。
3.2基本参数设置
1. 粒子种群大小 M :粒子种群大小
的选择视具体问题而定20。
2. 粒子的长度 N :即是问题解空间的
维数,本文在仿真过程中选用3。
3. 粒子的最大速度Vmax :通常
vdmax = k*xdmax ,0.1≤ k ≤ 0.2。
4. 加速常数c1、c2:分别调节向 pBest
和 gBest 方向飞行的最大步长,决定粒子个体经验和群体经验对粒子运行轨迹的影响,反映粒子群之间的信息交流。
一般情况下设置c1=c2= 2。
5. rand():是介于[0,1] 之间的随机数。
6. 迭代终止条件:一般设为最大迭代
次数Tmax 、计算精度ε 或最优解的最大凝滞步数△t 。
3.3改进的粒群算法
粒子群优化算法起源于模拟社会系统,算法本身缺乏坚实的数学基础。
1999年Clerk 对算法的数学研究证明,采用收缩因子能够确保算法的收敛。
收缩因子模型如下所示:
(16)
)]
(())(()[211k id
gd k id
id k id k id x p rand c x p rand c v k v
−××+−××+=+4
422212>+−−−=φφφφφ,=其中c c k (17)
1
1+++=k id
k id k id v x x (18) 本文引入的改进算法中,将φ设为 4.1(此时c1=c2=2.05),则k =0.729。
4.控制结构仿真
控制器控制对象为以非线性动态系统:
)
1(8.0)()
2()1()(1)
1()(5)1(2
22−++−+−++−=
+k u k u k x k x k x k x k x k x p p p p p p (19)
仿真结果截图如下:
图4 仿真结果 Fig.4 Result of the simulation 用改进粒群算法来调整网络权重,经过151次迭代,目标函数就达到的期望值,远快于用BP 算法的873次,说明此算法确实能提高训练的速度。
仿真结果表明,此算法有较高的搜索速度,而且具有较高的收敛精度,又有良好的全局搜索能力,在一定程度上平衡了算法搜索速度和精度之间的矛盾。
5.结论
(1) 改进的粒群算法能很好的提高网络的学习速率,能提高系统的实时性,对提高系统的控制效率有实际意义。
(2) 改进算法的仿真结果证明该算法是
有效的、可行的。
参考文献
[1] 程启明, 王勇浩.B样条基函数模糊神经网络
控制系统及其混合学习算法[J].动力工程,2005 V ol.25,No.4
[2] 程启明, 王勇浩.基于蚁群优化算法的模糊神
经网络控制器及仿真研究[J].上海电力学院
学报,2006.22,2
[3]孙炜王耀南.模糊B样条基神经网络及其在
机器人轨迹跟踪中的应用[J].动力学与控制学报. 2005年3月,V ol.3,No.1
[4] 李丙春.粒子群优化算法及其应用[J].喀什
师范学院学报.2006,V ol.27,No.3
THE IMPROVED ALGORITHM FOR FBSBNN
CONTROL SYSTEM
Gu Yuming1,Bian Erhua2
School of Mechanical Engineering and Automation Northeasten University, Shenyang 110004
Xinyang Normal University, Xinyang, 464000
Abstract
The control system of FBSBNN has both the charactors of FUZZY and NN.At the same time,B-spline function has partial ajust capability.Some author hade put forward some algorithms,such as GA and BP algorithms or AOC Algorithm.But their has some shortcomings.This paper use PSO algorithm to train the FBSBNN,the result prove that this algorithm is effective doable.
Keywords:FBSBNN;PSO;OPTIMIZE。