扩展卡尔曼滤波的模糊神经网络算法 算法设计

更新时间:2023-04-06 07:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机算法设计与分析

收稿日期:2012-4-8 修改日期:2012-4-10

作者简介:刘康康 安徽蚌埠人 安徽中医学院本科生 医药信息工程学院 09医软一班 09713026 扩展卡尔曼滤波的模糊神经网络算法

刘康康

(安徽中医学院 医药信息工程学院 09医软一班 09713026 安徽 合肥230031)

摘 要:为了快速地构造一个有效的模糊神经网络,提出一种基于扩展卡尔曼滤波(EKF)的模糊神经网络自组织学习算法。在本算法中,按照提出的无须经过修剪过程的生长准则增加规则,加速了网络在线学习过程;使用EKF 算法更新网络的自由参数,增强了网络的鲁棒性。仿真结果表明,该算法具有快速的学习速度和泛化能力。

关键词:模糊神经网络;扩展卡尔曼滤波;自组织学习

中图分类号:TP301.6

Fast self-organizing learning algorithm based on for fuzzy

neural network

LIU kang-kang

(Anhui University of Traditional Chinese Medicine, Medical Information Engineering, Hefei 230031, China)

Abstract:To construct an effective fuzzy neural network, this paper presented a self-organizing learning algorithm based on extended Kalman filter for fuzzy neural network. In the algorithm, the network grew rules according to the proposed growing criteria without pruning, speeding up the online learning process.All the free parameters were updated by the extended Kalman filter approach and the robustness of the network was obviously enhanced. The simulation results show that the proposed algorithm can achieve fast learning speed, high approximation precision and generation capability.

Key words :fuzzy neural network; extended Kalman filter(EKF); self-organizing learning

0 引 言

模糊神经网络起源于20世纪80年代后期的

日本,由于其简单、实用,已经被广泛应用在

工业控制、系统辨识、模式识别、数据挖掘

等许多领域[1~4]。第一论文范文网

1783b211866fb84ae45c8df9 编辑。

然而,如何从可用的数据集和专家知识中获

取合适的规则数仍然是一个尚未解决的问

题。为了获取模糊规则,研究人员提出了不

同的算法,如文献[5]利用正交最小二乘算

法确定径向基函数的中心,但是该算法训练

速度比较慢;文献[6]提出了基于径向基函

数的自适应模糊系统,其算法使用了分层自组织学习策略,但是逼近精度低。扩展卡尔曼滤波(EKF)算法作为一种非线性更新算法,在神经网络中得到了广泛应用。文献[7]利用扩展卡尔曼滤波算法调整多层感知器的权值,文献[8]利用扩展卡尔曼滤波算法调整径向基函数网络的权值。 本文提出了一种模糊神经网络的快速自组织学习算法(SFNN)。该算法基于无须修剪过程的生长准则增加模糊规则,加速了网络学习过程,同时使用EKF 调整网络的参数。

计算机算法设计与分析

收稿日期:2012-4-8 修改日期:2012-4-10

作者简介:刘康康 安徽蚌埠人 安徽中医学院本科生 医药信息工程学院 09医软一班 09713026

在该算法中,模糊神经网络结构不是预先设定的,而是在学习过程中动态变化的,即在学习开始前没有一条模糊规则,在学习过程中逐渐增加模糊规则。与传统的模糊神经网络学习算法相比,本算法所得到的模糊规则数并不会随着输入变量的增加而呈指数增长,特别是本算法无须领域的专家知识就可以实现对系统的自动建模及抽取模糊规则。当然,如果设计者是领域专家,其知识也可以直接用于系统设计。本算法所得到的模糊神经网络具有结构小、避免出现过拟合现象等特点。

1 SFNN 的结构

本文采用与文献[9]相似的网络结构,如图1所示。

下面是对该网络各层含义的详细描述。 第一层:输入层。每个节点代表一个输入语言变量。

第二层:隶属函数层。每个节点代表一个隶属函数,隶属函数采用如下的高斯函数:

μij=exp(-(x i-cij) 2ζ 2ij);i=1,2,…,r; j=1,2,…,u(1)

其中:r 是输入变量数;u 是隶属函数个数,也代表系统的总规则数;μij 是x i 的第j 个高斯隶属函数;cij 是x i 的第j 个高斯隶属函数的中心;ζij 是x i 的第j 个高斯隶属函数的宽度。

第三层:T-范数层。每个节点代表一个可能的模糊规则的IF-部分,也代表一个RBF 单元,该层节点个数反映了模糊规则数。如果计算每个规则触发权的T-范数算子是乘法,则在第三层中第j 条规则R j 的输出为

θ j=exp(- ri=1(x i-cij) 2ζ 2ij);j=1,2,…,u(2)

第四层:输出层。该层每个节点代表一

个输出变量,该输出是所有输入变量的叠加。

y(X)= uj=1w j θ j(3)

其中:y 是网络的输出;w j 是Then-部分。第一论文范文网1783b211866fb84ae45c8df9 整理。

2 SFNN 的学习算法

2.1 模糊规则的产生准则 在模糊神经网络中,如果模糊规则数太多,不仅增加系统的复杂性,而且增加计算负担和降低网络的泛化能力;如果规则数太少,系统将不能完全包含输入/输出状态空间,将降低网络的性能。是否加入新的模糊规则取决于系统误差、可容纳边界和误差下降率三个重要因素。 2.1.1 系统误差

误差判据:对于第i 个观测数据(x i,t i),其中x i 是输入向量,t i 是期望输出,由式(3)计算网络现有结构的全部输出y i 。

定义:‖e i ‖=‖t i-y i ‖;i=1,2,…,n(4)

如果‖e i ‖>k e k e=max[emax ×β i,emin](5)

则说明网络现有结构的性能比较差,要考虑增加一条新的规则;否则,不生成新规则。其中:k e 是根据网络期望的精度预先选择的值;emax 是预定义的最大误差;emin 是期望的输出精度;β(0<β<1)是收敛因子。

2.1.2 可容纳边界

可容纳边界:对于第i 个观测数据(x i,t i),计算第i 个输入值x i 与已有RBF 单元的中心c j 之间的距离d i(j),即

d i(j)=‖x i-c j ‖;i=1,2,…,n; j=1,2,…,u(6)

其中:u 是现有的模糊规则或RBF 单元的数量。令

计算机算法设计与分析

收稿日期:2012-4-8 修改日期:2012-4-10

作者简介:刘康康 安徽蚌埠人 安徽中医学院本科生 医药信息工程学院 09医软一班 09713026

di,min=arg min(d i(j))(7) 如果di,min>k d,k d=max[dmax ×γ i,dmin](8)

则说明已存在的输入隶属函数不能有效地划分输入空间。因此,需要增加一条新的模糊规则,否则,观测数据可以由已存在的距离它最近的RBF 单元表示。其中:k d 是可容纳边界的有效半径;dmax 是输入空间的最大长度;dmin 是所关心的最小长度;γ(0<γ<1)是衰减因子。

2.1.3 误差下降率

传统的学习算法把误差减少率(ERR)[5]用于网络生长后的修剪过程,算法会因为修剪过程而增加计算负担,降低学习速度。本文把误差减少率用于生长过程形成一种新的生长准则,算法无须经过修剪过程,从而加速网络的学习过程。

给定n 个输入/输出数据对(x i,t i),t=1,2,…,n,把式(3)看做线性回归模型的一种特殊情况,该线性回归模型为

t(i)= uj=1h j(i)θ j+ε(i)(9)

式(9)可简写为 D=H Θ+E(10)

D=T T ∈R n 是期望输出,H=θ T ∈R n ×u 是回归量,Θ= W T ∈R u 是权值向量,并且假设E ∈R n 是与回归量不相关的误差向量。

对于矩阵θ,如果它的行数大于列数,通过QR 分解: H=PQ(11)

可把H 变换成一组正交基向量集P=[p 1,p 2,…,p u]∈R n ×u,其维数与H 的维数相同,各列向量构成正交基,Q ∈R u ×u 是一个上三角矩阵。通过这一变

换,有可能从每一基向量计算每一个分量对期望输出能量的贡献。把式(11)代入式(10) 可得

D=PQ Θ+E=PG+E(12)

G 的线性最小二乘解为G=(P TP) -1P TD,或g k=p T kDp T kp k;k=1,2,…,u(13) Q 和Θ满足下面的方程: Q Θ=G(14)

当k ≠l 时,p k 和p l 正交,D 的平方和由式(15)给出: D TD= uk=1g 2 kp T kp k+E TE(15) 去掉均值后,D 的方差由式(16)给出: n -1D TD=n -1 uk=1g 2 kp T kp k+n -1E TE(16)

由式(16)可以看到,n -1 uk=1g 2 kp T kp k 是由回归量p k 所造成的期望输出方差的一部分。第一论文范文网 1783b211866fb84ae45c8df9 整理。

因此,p k 的误差下降率可以定义如下: err k=g 2 kp T kp kD TD,1≤k ≤u(17)

把式(13)代入式(17)可得

err k=(p T kD) 2p T kp kD TD,1≤k ≤u(18)

式(18)为寻找重要回归量子集提供了一种简单而有效的方法,其意义在于err k 揭示了p k 和D 的相似性。err k 值越大,表示p k 和D 的相似度越大,且p k 对于输出影响越显著。利用ERR 定义泛化因子(GF),GF 可以检验算法的泛化能力,并进一步简化和加速学习过程。定义:

GF= uk=1err k(19) 如果GF

2.2 参数调整

需要注意的是,不管是新生成的隐节点还是已存在的隐节点,都需要对网络参数进行调整。传统的方法是使用LLS[10]方法对

计算机算法设计与分析

收稿日期:2012-4-8 修改日期:2012-4-10

作者简介:刘康康 安徽蚌埠人 安徽中医学院本科生 医药信息工程学院 09医软一班 09713026

网络参数进行调整,本文提出使用EKF 方法调节网络的参数。事实上,网络的参数向量θ可以看做一个非线性系统的状态,并用下面的方程描述: θ i=θi-1

t i=h(θi-1,X i)+e i(20)

在当前的估计值i-1处将非线性函数h(θi-1,X i)展开,则状态模型可以重写为

θ i=θi-1

t i=H i θi-1+ε i+e i(21) 其中:ε i=h(i-1 ,X i)-H ii-1+ρ i 。H i 是如下的梯度向量:

H i= h(θ,X i) θ|θ=i-1 (22) 参数向量θ使用下面的扩展卡尔曼滤波算法更新:

K i=Pi-1H T i[H iPi-1H T i+R i] -1

θ i=θi-1+K i(t i-h(θi-1,X i))

P i=Pi-1-K iH iPi-1+Q i(23)

其中:K i 是卡尔曼增益矩阵;P i 是逼近误差方差阵;R i 是量测噪声方差阵;Q i 是过程噪声方差阵。

前件参数使用如下的扩展卡尔曼滤波算法更新:

K δ i=P δi-1G T i[R i+G iP δi-1G T i] -1 δ i=δi-1+K δ i(T i-wi-1θ i)

P δ i=P δi-1-K δ iG iP δi-1+Q i(24)

后件参数使用如下的卡尔曼滤波算法更新: K w i=P wi-1θ T i[R i+θ iP wi-1θ T i] -1 w i=wi-1+K w i(T i-wi-1θ i)

P w i=P wi-1-K w i θ iP wi-1+Q i(25)

2.3 模糊规则的增加过程

在SFNN 学习算法中,模糊规则增加过程如下:

a)初始参数分配。第一论文范文网1783b211866fb84ae45c8df9 编辑。

当得到第一个观测数据(X 1,t 1) 时,此时的网络还没有建立起来,因此这个数据将被选为第一条模糊规则:c 0=X 0,δ 1=δ 0,w 1=t 1。其中δ 0是预先设定的常数。

b)生长过程。当得到第i 个观测数据(X i,t i)时,假设在第三层中已存在u 个隐含神经元,根据式(4)(7)和(19),分别计算e i 、di,min 、GF 。如果

‖e i ‖>k e,di,min>k d,且GF

则增加一个新的隐含神经元。其中k e 、k d 分别在式(5)和(8)中给出。新增加的隐含神经元的中心、宽度和权值赋值为:Cu+1=X i,δu+1=k 0di,min,wu+1=e i,其中k 0(k 0>1)是重叠 因子。 c)参数调整。当增加新神经元后,所有已有神经元的参数通过式(24)(25)描述的算法调整。

3 仿真研究

时间序列预测在解决许多实际问题中是非常重要的。它在经济预测、信号处理等很多领域都得到了广泛应用。

本文采用的时间序列由Mackey-Glass 差分延迟方程产生,其方程定义为[5] x(t+1)=(1-a)x(t)+bx(t-η)1+x 10(t-η)(27)

为了能够与文献[5,6]在相同的基础上进行比较,取值 Δt=P=6,式(27)中的参数选择为:a=0.1,b=0.2,η=17。预测模型表示为

x(t+6)=f[x(t),x(t-6),x(t-12),x(t-18)](28)

计算机算法设计与分析

收稿日期:2012-4-8 修改日期:2012-4-10

作者简介:刘康康 安徽蚌埠人 安徽中医学院本科生 医药信息工程学院 09医软一班 09713026

为了获得时间序列,利用式(27)生成 2 000个数据,式(27)的初始条件为:x(0)=1.2。为了训练和测试,在t=124和t= 1 123之间选择1 000个样本作为式(28)的输入/输出样本数据。使用前500个数据对作为训练数据集,后面的500个数据对验证该模型的预测性能。图2显示了SFNN 生成的模糊规则数;图3显示了从t=124到t=623的训练结果;图4显示了SFNN 良好的预测性能。表1列出了SFNN 与其他算法的比较结果。表1显示,与OLS 、RBF-AFS 算法相比,SFNN 具有最少的规则数、最小的误差和良好的泛化能力,同时具有快速的学习速度。SFNN 的快速性就在于:采用无须修剪过程的生长准则,加速了网络学习过程;利用扩展卡尔曼滤波调整网络的参数,可以缩短网络的学习周期。从上面的分析可以看出,SFNN 具有紧凑的结构、快速的学习速度、良好的逼近精度和泛化能力。

4 结束语

SFNN 采用在线学习方法、参数估计和结构辨识同时进行,提高了网络的学习速度。基于该方法生成的模糊神经网络具有紧凑的结构,网络结构不会持续增长,避免了过拟合及过训练现象,确保了系统的泛化能力。

[ 参 考 文 献 ]

[1] 李艺,《网络安全课程PPT 讲义》

[2] 胡道元,闵京华《网络安全》清华大学出版社 2005 年 [3] 冯登国,裴定一《密码学导引》,科学出版社,1999 年 [4] 卓光辉,祁明,周浩华《数字签名技术的研究和进展》,2000 年 [5] 曹珍富《公钥密码学》,黑龙江教育出版社,1993年

[6]韦玉科,汪仁煌,李江平,等.一种新的数据智能化处理算法[J].计算机应用研究,2008,25(5):1328-1329.

[7]DENG Xing-sheng,WANG Xin-zhou.Incremental learning of dynamic fuzzy neural networks for accurate system modeling[J].Fuzzy Sets and Systems,2009,160(7):972-987. [8]

HUANG Huan,WU Cong-xin.Approximation capabilities of multilayer fuzzy neural networks on the set of fuzzy-valued functions[J] Information Sciences,2009,179(16):2762-2773.

本文来源:https://www.bwwdw.com/article/v7fl.html

Top