基于模糊推理的在线时序数据预测方法、系统及存储介质与流程

文档序号:16432605发布日期:2018-12-28 20:15阅读:797来源:国知局
基于模糊推理的在线时序数据预测方法、系统及存储介质与流程

本发明涉及基于模糊推理的在线时序数据预测方法、系统及存储介质。

背景技术

对于动态系统,输出是过去输出,过去输入或者二者的非线性函数。动态系统中的问题出现在很多的领域当中,比如控制和模式识别。具有模糊逻辑和神经网络优点的模糊神经网络(fnn)常用来处理这一系列的问题,但是为了识别动态系统或者识别时间序列,通常还要使用表现某种记忆的循环模型。一般内部前馈网络结构仅限于处理静态问题,不能有效地处理时态问题,而循环模型可以被认为是一种闭环系统,其中循环路径引入模型的动力学,因此与传统的模糊神经网络(fnn)相比,递归模糊神经网络(rfnn)更适合于动态系统的建模和控制。

现有技术已经提出了许多的递归模糊神经网络结构,在反馈架构方面,rfnn可以分为具有全局反馈和局部反馈两种类型。在全局反馈中,网络包含连接到所有规则的反馈回路,而局部反馈中,来自给定模糊规则的反馈回路仅与该规则相关,已经提出了许多使用全局反馈的循环模糊神经网络。在juang,chia-feng,lin,yang-yin,tu,chiu-chuan.arecurrentself-evolvingfuzzyneuralnetworkwithlocalfeedbacksanditsapplicationtodynamicsystemprocessing[j].fuzzysetsandsystems,2010,161(19):2552-2568.中,提出了一种具有局部反馈的递归自演化模糊神经网络(rsefnn-lf)是通过将每个规则的输出局部反馈给自身来实现的,所以每个规则只受其自身的过去值的影响。

rfnn都使用一型模糊集,为了处理数据中的不确定性,zadehla.theconceptofalinguisticvariableanditsapplicationtoapproximatereasoning-ii.[m]//learningsystemsandintelligentrobots.springerus,1974:199-249.提出了二型模糊集合作为一型模糊集合的扩展,其中二型模糊集的隶属值是一型模糊数。二型模糊逻辑系统与一型计数器部件进行比较时,更适合于建模和处理数据中的不确定性。然而,使用二型模糊集因为需要进行类型缩减操作而需要额外的计算成本。为了解决这一问题,q.liangandj.mendel,“intervaltype-2fuzzylogicsystems:theoryanddesign,”ieeetrans.fuzzysyst.,vol.8,no.5,pp.535–550,oct.2000提出了区间二型模糊集理论作为对二型模糊集合论的计算简化。但是,结构固定的区间二型模糊神经网络(it2fnn)无法有效解决时变系统辨识问题。el-nagaram.nonlineardynamicsystemsidentificationusingrecurrentintervaltype-2tskfuzzyneuralnetwork–anovelstructure[j].isatransactions,2017.提出了一种用于非线性动态时变系统辨识的递归区间二型takagi-sugeno-kang(tsk)模糊神经网络(rit2tskfnn),它结合了二型模糊集(t2fss)和递归模糊神经网络(fnn),以避免数据的不确定性,所提出的rit2tskfnn的所有二型模糊规则都是在结构和参数学习的基础上在线学习的。

递归模糊神经网络一个重要的设计任务是每个输入维度的规则数目和模糊集的数目,这些数字是预先确定的,在rsonfin中,规则是根据一个触发强度标准生成的。这种规则的生成方法也被用于许多后来的研究。khanesarma,kayacane,teshnehlabm,etal.extendedkalmanfilterbasedlearningalgorithmfortype-2fuzzylogicsystemsanditsexperimentalevaluation[j].ieeetransactionsonindustrialelectronics,2012,59(11):4443-4455.提出了一种用于动态系统处理的递归自演化区间型2模糊神经网络(rseit2fnn)。其最初不包含任何规则,所有规则都是通过结构和参数学习在线学习的,结构学习使用在线二型模糊聚类。

最近,大多数研究人员都将注意力集中在用于系统辨识和控制的递归区间二型模糊神经网络(it2fnn)(rit2fnn)上。引入了一个递归自演化it2fnn用于动态系统辨识器,该it2fnn采用卡尔曼滤波和梯度下降算法对it2fnn结构和参数进行整定。



技术实现要素:

为了解决现有技术的不足,本发明提供了基于模糊推理的在线时序数据预测方法、系统及存储介质;

作为本发明的第一方面,提供了基于模糊推理的在线时序数据预测方法;

基于模糊推理的在线时序数据预测方法,包括:

模型搭建:搭建基于区间二型的lstm模糊神经网络模型;

训练过程:提取训练样本的时序数据,将训练样本的时序数据输入到已经搭建的基于区间二型的lstm模糊神经网络模型中,每输出一个样本,先执行结构学习,在结构学习的基础上进行参数学习;得到训练好的基于区间二型的lstm模糊神经网络模型;

预测过程:提取待预测样本的时序数据,将待预测样本的时序数据输入到已经训练好的基于区间二型的lstm模糊神经网络模型中,输出预测结果。

进一步的,时序数据是指:时间序列数据,将同一统计指标的数值按照其发生时间的先后顺序排列而成的数列,时序数据有很多种类:绝对数时间序列,相对数时间序列和平均数时间序列。本发明中的时序数据是绝对数时间序列中的时点序列,要求序列中的指标数值不具可加性,每个指标数值的大小与其间隔时间的长短没有直接联系,序列中的每个指标数值通常是通过定期的一次登记取得的。

进一步的,基于区间二型的lstm模糊神经网络模型,包括:

依次连接的输入层、区间二型模糊化层、空间发射层、间隔减少层、时间触发层和输出层;

所述输入层,用于接收样本的时序数据;将时序数据传递给区间二型模糊化层;

所述区间二型模糊化层,采用不确定均值的高斯隶属函数执行模糊化操作;

所述区间二型模糊化层中的每个节点通过采用区间二型高斯隶属函数对输入进行模糊化,对于第j个输入变量xt,j和第k个规则,当前隶属函数的不确定性所留下的影响用上隶属函数和下隶属函数表示为有界区间:

其中,主高斯函数:

其中,是第k个规则的第j个特征的中心,σk是第k个规则的宽度;表示区间二型高斯隶属函数中心的左界,表示区间二型高斯隶属函数中心的右界;表示以中心的左界作为高斯隶属函数的中心的对应输入的隶属值;表示以中心的右界作为高斯隶属函数的中心的对应输入的隶属值。

所述空间发射层,将区间二型模糊隶属度进行组合获得区间值模糊集;

所述空间发射层由k个节点组成,对应k个规则的触发强度区间,规则的触发强度通过区间二型模糊化层的输出执行“与”操作得到,通过使用区间二型模糊化层输出的隶属函数的代数乘积来获得,所述空间发射层的输出为区间一型的集合,计算如下:

其中,

其中,表示规则的触发强度下界,表示规则的触发强度上界,k表示生成的第k个规则。

所述间隔减少层,将区间值模糊集转换为一型模糊值;

所述间隔减少层由k个节点组成,该层中的每个节点将区间值模糊集合减少为一型模糊值,区间缩减方式:

其中,αk∈[0,1]是第k个规则的不确定性的自适应权重,fk(t)表示第k个规则的触发强度。

所述时间触发层,采用长短时记忆网络lstm对上一个输入数据的规则触发强度信息进行记忆。

将长短期记忆网络lstm作为模糊神经网络的循环结构,其中所述时间触发层由k个节点组成,该层中的每一个节点都是一个循环规则节点,形成了一个内部反馈循环,循环规则节点是网络对上一个输入数据的规则触发强度信息进行记忆并应用于当前规则触发强度计算中;当时间步长为t时,循环规则节点的输出不仅仅取决于当前发射强度fk(t),还取决于时间发射强度hk(t-1),

具体计算过程如下:

fk(t)=σ(wkfx·fk(t)+wkfh·hk(t-1)+bkf)(7)

ik(t)=σ(wkix·fk(t)+wkih·hk(t-1)+bki)(8)

ctk(t)=tanh(wkcx·fk(t)+wkch·hk(t-1)+bkc)(9)

ok(t)=σ(wkox·fk(t)+wkoh·hk(t-1)+bko)(10)

其中,

其中,fk(t)表示遗忘门的值;fk(t)表示上一层的输出值;wkfx表示对应输入为fk(t)的遗忘门的权重矩阵;hk(t-1)表示上一时刻该层的输出值;wkfh对应输入为hk(t-1)的遗忘门的权重矩阵;bkf表示遗忘门的偏置项;ik(t)表示输入门的值;wkix表示对应输入为fk(t)的输入门的权重矩阵;wkih表示对应输入为hk(t-1)的输入门的权重矩阵;bki表示输入门的偏置项;ctk(t)表示当前输入的单元状态;wkcx表示对应输入为fk(t)的当前输入的单元状态的权重矩阵;wkch表示对应输入为hk(t-1)的当前输入的单元状态的权重矩阵;bkc表示当前输入的单元状态的偏置项;ok(t)表示输出门的值;wkox表示对应输入为fk(t)的输出门的权重矩阵;wkoh表示对应输入为hk(t-1)的输出门的权重矩阵;bko表示输出门的偏置项;ck(t)表示当前时刻单元状态的值,即长期记忆;fk(t)表示遗忘门的值;它决定了上一时刻的单元状态ck(t-1)到当前时刻ck(t)的剩余值;表示点乘运算符;ck(t-1)表示上一时刻单元状态的值。ik(t)表示输入门的值,它决定当前输入保存到ck(t)中的量。ctk(t)表示当前输入的单元状态;tanh(ck(t))表示单元状态的激活值。hk(t)表示当前层的最终输出值;σ(z)和tanh(z)为激活函数,反馈权重用区间[0,1]中统一生成的随机数进行初始化。

所述输出层,采用重心法去模糊化来获得输出;

所述输出层中的每一个节点对应一个输出变量,第q个输出层节点采用加权平均去模糊操作计算网络的输出变量yq,去模糊化后的网络预测输出为:

其中wq,k是连接第k个循环规则和第q个输出节点的输出权重;

hk(t)表示t时刻第k个循环规则节点的输出值;hp(t)表示t时刻第p个循环规则节点的输出值,其中p=1,2,3..k,k为规则节点的数目。

进一步的,结构学习步骤的具体步骤为:

第一步:首先用第一个数据样本对基于区间二型的lstm模糊神经网络模型进行初始化操作,然后读取下一个数据样本输入到基于区间二型的lstm模糊神经网络模型中,每个数据样本都通过递归更新均值和标准差实现在线标准化;

第二步:计算新数据样本的密度值,递归更新所有现有数据样本的累计邻近度之和;

其中数据空间中每个新输入数据样本的累计邻近度πk(xk),现有数据的累计邻近度πk(xi)和第t个数据样本的密度值dk(xk)分别定义为:

πt(xt)=t(||xt-μt||2+xt-||μt||2)(15)

πt(xi)=πt-1(xt)+||xi-xt||2,i=1,2,…t-1(16)

其中,

其中,xi表示第i个输入样本;||xi-xt||2表示第i个输入样本xi和新输入样本xt的距离的平方;πt(xi)表示输入第t个样本时现有数据xi的累计邻近度;πt(xt)表示新输入数据xt的累计邻近度;μt-1表示第t-1个输入样本的标准化形式;μ1表示第一个输入样本的标准化形式;x1表示第一个输入样本;πt-1(xi)表示第t-1个样本时现有数据xi的累计邻近度。

第三步:随数据样本的相继到达,更新现有规则中心的密度

其中,为第k个模糊规则的中心;k*=1,2,...,nt,nt为t时刻的规则数目;πt(xi)表示输入第t个样本时现有数据xi的累计邻近度。表示输入第t个样本时第k个模糊规则的中心的累计邻近度。πt-1(xi)表示第t-1个样本时现有数据xi的累计邻近度。表示输入第t-1个样本时第i个模糊规则的中心的累计邻近度。表示第t个数据样本和第k个模糊规则中心的距离。

第四步:对于每一个新的数据样本,在用公式(17)计算数据样本的密度值之后,用公式(21)更新所有规则中心的密度,然后检查条件a,判断是否需要添加新的规则,条件a如下:

条件a:

then(nt←nt+1)

其中,新添加规则的区间二型的高斯隶属函数中心初始化为方差初始化为r1,nt=[0.5,....,0.5]1×n;如果条件a不满足,则新数据样本属于现有规则之一;否则,生成一条新规则;dt(xt)表示第t个数据样本的密度值;表示现有规则中心的密度;nt表示为t时刻的规则数目;

第五步:满足条件a后生成一条新的规则,然后触发条件b以避免现有规则与新规则重叠:

条件b:

then(nt←nt-1)

当满足条件b时,意味着新的中心将任何先前存在的规则中心描述到相对较高的程度,应该消除现有的重叠规则。

其中,表示第t个样本第j维的隶属度值。ρ表示临界值,ρ=e-1。t=1,2,3,...l,l表示样本的数目。nt←nt-1表示规则的数目减一。

第六步:计算每条规则的效用检查条件c,判断是否需要删除已有规则,每条规则的效用表示自生成以来它被使用的次数。实用程序是累积的规范化激活级别,关于第t个样本的效用公式定义为:

其中,

fk(t)值由公式(6)获得,tk指的是第k条规则形成的时刻。

其中,ut,k表示第t个样本时第k条规则的效用,λt,k表示第t个样本时第k个规则的触发强度占所有规则的触发强度之和中的比例;k表示第k条规则;fk(t)表示第t个样本时,第k个规则的触发强度。

条件c:

then(nt←nt-1)

其中,η是常数参数,η∈[0.03,0.1]。一旦满足条件c,规则就被删除。

其中,uk,i表示第t时刻的第k条规则的效用;η表示临界参数;nt←nt-1表示规则数目减一。

进一步的,参数学习步骤的具体步骤为:

当考虑单输出的情况下,目标函数:

其中,y(t)表示第t时刻的实际输出,yd(t)表示第t时刻的期望输出,e(t)为目标函数;

在结构学习之后,计算实际输出y(t);

在基于区间二型的lstm模糊神经网络模型中,反向计算每一层的误差值δ利用梯度下降算法调节网络所有的参数,根据公式(14)可得,第k个规则的输出层和时间触发层之间的权重wk梯度为:

其中,表示参数wk的梯度;表示误差函数对输出值求偏导;表示输出值对参数wk求导;y(t)表示第t时刻的输出值;yd(t)表示表示第t时刻的期望输出;hk(t)表示t时刻第k个规则的时间触发层的最终输出值。

时间触发层中lstm节点中的参数计算其梯度时分为两种情况:

1.误差项沿时间的反向传递;

2.误差项沿上一层传递;在t时刻,根据公式(7)-(12)、公式(13-1)和公式(13-2),时间触发层的输出值为hk(t),首先定义t时刻的误差项δk(t),四个加权输入netf,k(t),neti,k(t),netct,k(t),neto,k(t)的误差项为:

其中,

netf,k(t)=wkfx·fk(t)+wkfh·hk(t-1)+bkf(28)

neti,k(t)=wkix·fk(t)+wkih·hk(t-1)+bki(29)

netct,k(t)=wkctx·fk(t)+wkcth·hk(t-1)+bkct(30)

neto,k(t)=wkox·fk(t)+wkoh·hk(t-1)+bko(31)

其中,δk(t)表示t时刻的误差项;表示t时刻误差函数对第k个规则的时间触发层的输出值的偏导;表示t时刻输出值对第k个规则的时间触发层的输出值的偏导;δf,k(t)表示t时刻第k个规则的遗忘门的误差项;表示t时刻误差函数对第k条规则的遗忘门的加权输入的偏导;δi,k(t)表示t时刻第k个规则的输入门的误差项;表示t时刻误差函数对第k条规则的遗忘门的加权输入的偏导;δct,k(t)表示t时刻第k个规则的单元状态的误差项。表示t时刻误差函数对第k条规则的单元状态的加权输入的偏导;δo,k(t)表示t时刻第k个规则的输出门的误差项。表示t时刻误差函数对第k条规则的输出门的加权输入的偏导;

误差项沿时间反向传递,获得t-1时刻的误差项δk(t-1),由等式(11),等式(12)可以得到:

其中,

其中,δk(t-1)表示t-1时刻第k个规则对应的误差项;表示t时刻误差函数对t-1时刻的第k个规则的时间触发层的输出值的偏导;表示t时刻第k个规则的输出门加权项对t-1时刻第k个规则的时间触发层的输出值求偏导;表示点乘运算符。

得出将误差项传递到任意时刻t的公式:

其中,δk(t)表示任意t时刻的误差项。

求得各个权重的梯度,因为wkfh,wkih,wkcth,wkoh,bkf,bki,bkct,bko存在时间轴上的传递,所以他们的权重梯度是各个时刻的梯度之和,所以他们的梯度分别为:

其中,表示误差函数对输出门的权重矩阵的导数;

对于wkfx,wkox,wkix,wkctx不需要在时间轴上传递,只和上一层的输出有关,因此时间触发层节点中各个门的权重的梯度权重梯度只需根据相应的误差项直接计算即可,具体如下:

其中,表示误差函数对输出门的权重矩阵的导数;

根据公式(6)得空间发射层和间隔减少层之间权重αk的梯度为:

其中,

其中,表示误差函数对第k个规则的不确定性的自适应权重αk求偏导;

区间二型模糊化层中,中心和宽度的梯度计算如下:

其中误差函数相对于中心的左边界的导数为:

其中,表示误差函数相对于中心的左边界的导数;表示误差函数对t时刻第k个规则的触发强度的导数;表示t时刻第k个规则的触发强度相对于中心左边的导数;

其中,αk表示第k个规则的第j个特征的宽度;表示第k个规则的触发强度下界;表示第k个规则的触发强度上界;

其中,表示第k个规则的触发强度上界;表示第k个规则的触发强度上界;表示第k个规则的触发强度下界;表示第k个规则的触发强度上界;

相应的得到误差函数相对于中心的右边的导数为:

其中,表示误差函数相对于t时刻第k个规则的触发强度的导数;表示t时刻第k个规则的触发强度相对于中心右边的导数;

其中,αk表示第k个规则的第j个特征的宽度;表示第k个规则的触发强度下界;表示第k个规则的触发强度上界;

其中,表示第k个规则的触发强度下界对中心右边的导数;表示第k个规则的触发强度下界;xt,j表示t时刻输入样本的第j维的输入值;表示区间二型高斯隶属函数中心的左界,表示区间二型高斯隶属函数中心的右界。

其中,表示第k个规则的触发强度上界对中心右边的导数;表示第k个规则的触发强度上界;xt,j表示t时刻输入样本的第j维的输入值;

误差函数相对于宽度的导数为:

其中,表示误差函数相对于宽度的导数;表示误差函数相对于t时刻第k个规则的触发强度的导数;表示t时刻第k个规则的触发强度相对于宽度的导数;

其中,表示t时刻第k个规则的触发强度对第k个规则的不确定性的自适应权重αk求偏导。αk表示第k个规则的不确定性的自适应权重、表示规则的触发强度下界,表示规则的触发强度上界,k表示生成的第k个规则。σk是第k个规则的宽度。表示区间二型高斯隶属函数中心的左界,表示区间二型高斯隶属函数中心的右界。

作为本发明的第二方面,提供了基于模糊推理的在线时序数据预测系统;

基于模糊推理的在线时序数据预测系统,包括:存储器、处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述任一方法所述的步骤。

作为本发明的第三方面,提供了一种计算机可读存储介质;

一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时,完成上述任一方法所述的步骤。

本发明的有益效果是:本发明提出的eit2fnn-lstm将区间二型模糊集和lstm结构引入到循环模糊神经网络中。与现有的技术相比,lstm首次应用于模糊神经网络,通过将每条规则的规则触发强度反馈给自身,实现时间维度上的循环。通过lstm的门机制,处理序列数据中的长期依赖关系。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明的方法流程图;

图2为本发明的eit2fnn-lstm的体系结构;

图3为lstm的体系结构;

图4为用um建模的区间二型高斯隶属函数;

图5(a)为网格类型分区;

图5(b)为基于网格类型划分的if-then规则;

图5(c)为聚类型分区;

图5(d)为基于聚类型分区的if-then规则;

图6为显示eit2fnn-lstm输出结果;

图7为eit2fnn-lstm测试输出和实际输出之间的差异的绝对值。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

如今已经提出的rfnn中的递归结构大多在时间维度上的循环存在缺失,不能实现真正意义的在时间维度上的循环。为了解决这个问题,添加一种循环结构,在本发明中使用hochreiter&schmidhuber在1997年提出的lstm模型,相较于原始的循环神经网络,lstm因其结构中添加了具有记忆功能的单元,以及控制单元状态的三个开关:控制输入信息的输入门,控制内部状态信息的忘记门,以及控制输出信息的输出门,使得lstm比其他循环结构更容易处理具有长时依赖的问题,lstm网络通过将隐藏层作为存储单元来处理时间序列中的相关性,使其在处理短期和长期的问题都是有效的。将其添加到模糊神经网络中,可以更有效地处理时态问题。因此本发明中提出了一种新的自演化区间二型长短时记忆模糊神经网络(eit2fnn-lstm,self-evolvingintervaltype-2lstmfuzzyneuralnetwork),相较于其他循环模糊神经网络,可以弥补在时间维度上的循环的缺失。

本发明提出了一种新的递归模糊神经网络,即自演化区间二型长短时记忆模糊神经网络(eit2fnn-lstm)。所提出的系统的结构前件使用区间二型模糊集合,并且模糊规则是tsk型的,对区间二型模糊集推理机制采用数据驱动的区间缩减技术,将得到的区间一型模糊集约简为一型模糊值。eit2fnn-lstm的规则局部反馈结构,使用长短期记忆模型(long-shorttermmemorylstm)模型来实现其递归功能,使其在处理时态问题都更加有效。eit2fnn-lstm采用密度聚类算法进行结构更新,在线生成规则和模糊集合,这不仅有助于规则生成的自动化,而且还有助于为后续参数学习定位良好的初始规则位置。根据输入输出数据的有效划分,使模糊神经网络的收敛速度更快,性能更好。eit2fnn-lstm中的后续参数由基于反向传播的梯度下降算法或pso算法进行学习,使其得到良好的训练。(eit2fnn-lstm中后续参数的更新比较了梯度下降和pso两种实现参数优化的算法,使eit2fnn-lstm得到良好的训练)对训练数据受外部干扰噪声或参数随机变化的不确定的混沌系统实现了进行了两个不完全相同的混沌系统的同步,利用基准数据集对时间序列预测问题进行评估,验证了eit2fnn-lstm的性能。

如图1所示,基于模糊推理的在线时序数据预测方法,包括:

模型搭建:搭建基于区间二型的lstm模糊神经网络模型;

训练过程:提取训练样本的时序数据,将训练样本的时序数据输入到已经搭建的基于区间二型的lstm模糊神经网络模型中,每输出一个样本,先执行结构学习,在结构学习的基础上进行参数学习;得到训练好的基于区间二型的lstm模糊神经网络模型;

预测过程:提取待预测样本的时序数据,将待预测样本的时序数据输入到已经训练好的基于区间二型的lstm模糊神经网络模型中,输出预测结果。

1.eit2fnn-lstm结构

在这一部分中,将介绍eit2fnn-lstm的结构。在结构介绍之前,先了解一下lstm网络。一个规则的lstm网络包含许多存储单元,其中乘法门单元和自回归单元是两个基本的构建单元。公式(7)、(8)和(10)描述了lstm中的三个门:遗忘门f(t),输入门i(t)和输出门o(t),c(t)为它的记忆单元。一般来说,lstm能够在序列数据中建模长期依赖关系的原因是,c(t)在每一时间步骤都可以选择性地“记住”(存储)或“忘记”(擦除)过去的信息,它是由乘法门控运算建模的。

本发明提出的eit2fnn-lstm主要目标是找出不确定输入特征x和输出y之间的函数关系,我们假设eit2fnn-lstm由n个输入节点,m个输出节点组成,并且在学习t-1个样本时已经增长了k个规则。在本发明中神经模糊推理系统(见图2)是一个实现tsk模糊推理机制的六层网络。他由输入层,区间二型模糊化层,空间发射层,间隔减少层,时间触发层,输出层组成。模糊层中的节点采用um(不确定均值)的高斯隶属函数来实现区间二型隶属函数。图4为用um建模的区间二型高斯隶属函数;空间发射层将区间二型模糊隶属度组合以获得区间一型模糊集,然后,间隔减少层中的节点采用一种有效的区间约简方法将区间一型模糊集转换为一型模糊数。此外,时间触发层节点我们使用的是lstm模型,图3为lstm的体系结构;每个循环模糊规则的后件是tsk模型。输出层中的节点采用基于重心的去模糊化来获得清晰的输出。

第一层(输入层):输入为t时刻的输入样本的值,记为xt=(xt,1,xt,2,...,xt,n)。该层由n个节点组成;其中每一个节点代表一个输入特征,输入层的功能是直接将输入传递到区间二型模糊化层。该层中没有需要调整的权重。

第二层(区间二型模糊化层):该层执行模糊化操作。该层中的每个节点通过采用区间二型高斯隶属函数对输入进行模糊化,对于第j个输入变量xt,j(特征)和第k个规则,这个隶属函数的不确定性所留下的影响可以用上隶属函数和下隶属函数表示为有界区间,如下所示:

其中,主高斯函数由下式给出:

其中,和σk分别是第k个规则的第j个特征的中心和宽度。

第三层(空间发射层):该层由k个节点组成,每个节点对应每个规则的上下触发强度,规则的触发强度来自第二层的输出执行模糊“与”操作,通过使用规则前件的隶属函数的代数乘积来获得,该层的输出为区间一型的集合,计算如下:

其中,

第四层(间隔减少层):该层由k个节点组成,该层中的每个节点将区间一型模糊集合减少为一型模糊值,区间缩减技术给出如下:

其中αk∈[0,1]是第k个规则的不确定性的自适应权重。

第五层(时间触发层):本发明提出将lstm模型作为模糊神经网络的循环结构,其中该层由k个节点组成,该层中的每一个节点是一个循环规则节点,形成了一个内部反馈循环,(对于t时刻的输入),循环规则节点的输出不仅仅取决于当前发射强度fk(t),还取决于时间发射强度hk(t-1),具体计算过程如下:

fk(t)=σ(wkfx·fk(t)+wkfh·hk(t-1)+bkf)(7)

ik(t)=σ(wkix·fk(t)+wkih·hk(t-1)+bki)(8)

ctk(t)=tanh(wkcx·fk(t)+wkch·hk(t-1)+bkc)(9)

ok(t)=σ(wkox·fk(t)+wkoh·hk(t-1)+bko)(10)

其中,

其中,[wkfx,wkfh,bkf]为第k个循环规则的遗忘门fk的权重矩阵和偏置项,[wkix,wkih,bki]为第k个循环规则的输入门ik的权重矩阵和偏置项,[wkcx,wkch,bkc]为第k个循环规则的单元状态ctk的权重矩阵和偏置项,[wkox,wkoh,bko]为第k个循环规则的输出门ok的权重矩阵和偏置项。σ(z)和tanh(z)为激活函数,反馈权重用区间[0,1]中统一生成的随机数进行初始化。

第六层(输出层):该层中的每一个节点对应一个输出变量,第q个输出层节点采用加权平均去模糊操作计算网络的输出变量yq,去模糊化后的网络预测输出为:

其中wqk是连接第k个循环规则和第q个输出节点的输出权重。

2.eit2fnn-lstm结构和参数学习

构建模糊神经网络结构演变的一个重要任务是输入输出空间的划分,而输入输出空间的划分,影响着模糊规则生成的数量。有效划分可能会使模糊神经网络的收敛速度更快,性能更好。其中最直接的方法是将输入空间划分为网格类型,每个网格表示一个模糊的if-then规则,它称为基于网格的分区(见图5(a))。这类划分的问题是,当输入变量或分区的个数增加时,模糊规则的数目会呈指数增长(见图5(b)),这就是所谓的维数问题。为了解决这个问题,我们使用了一个基于聚类的分区(见图5(c)),减少了生成规则的数量。避免了模糊规则的急剧增加,从而生成相应的规则库(见图5(d))。

为了解决时变系统的辨识问题,我们让eit2fnn-lstm同时进行结构和参数学习演变,对于离线学习,首先对所有的训练数据进行结构学习,然后对构建的固定的网络结构进行参数学习。与这种类型的学习相反,这里的同时学习意味着对于每一个输入数据都执行结构和参数学习算法。在实际实施中,先进行结构学习,随后对于新的数据进行参数学习,换句话说,参数学习是在新进化的网络结构上在线执行的,基于上文分析,在本发明中eit2fnn-lstm采用密度聚类算法,在网络收到训练数据时在线生成模糊规则和模糊集合。在生成递归规则之后,通过参数学习算法来调整其自由参数。以下部分将介绍结构和参数学习算法的细节。

2.1.结构学习

结构学习的第一个任务是确定何时产生一个新的规则,其次是确定每个输入维度的初始模糊集合的形状。输入空间的分割方式决定了从训练数据中提取的规则数目,以及每个输入变量的论域中的模糊集的数量。模糊规则的产生是为了确保至少有一个规则被激活,在结构学习算法当中,训练样本仅被呈现给网络一次,我们假设由{(x1,y1),...,(xk,yk),...}给出训练数据流,其中xt=[xt,1,...,xt,n]∈r1×n是第个样本的维输入向量,yt=[yt,1,...,yt,m]∈r1×m为第个样本的m维输出向量;t=1,2,3,4,....,对于每一个输入的样本数据,通过计算其中心密度值来决定是否应该生成一个新的模糊规则,最开始的时候,是没有规则的。详细的结构学习方法如下:

第一步:首先用第一个数据样本对eit2fnn-lstm结构进行初始化操作,然后读取下一个数据样本,每个数据样本无论输入还是输出,通过递归更新均值和标准差实现在线标准化。

第二步:计算新数据样本的密度值,递归更新所有现有数据样本的累计邻近度之和,其中数据空间中每个新输入数据样本的累计邻近度,现有数据的累计邻近度和第t个数据样本的密度值分别定义为:

πt(xt)=t(||xt-μt||2+xt-||μt||2)(15)

πt(xi)=πt-1(xt)+||xi-xt||2,i=1,2,…t-1(16)

其中,

第三步:随数据样本的相继到达,更新现有规则中心的密度:

其中为第个模糊规则的中心;k*=1,2,...,nt,nt为t时刻的规则数目。

第四步:对于每一个新的数据样本,在用公式(21)计算其密度之后,用公式(25)更新所有规则中心的密度,然后我们检查条件a判断是否需要添加新的规则,条件a如下:

条件a:

then(nt←nt+1)

其中,新添加规则的区间二型的高斯隶属函数中心初始化为方差初始化为r1,nt=[0.5,....,0.5]1×n。如果条件a不满足,则新数据样本属于现有规则之一;否则,生成一条新规则。

第五步:满足条件a后生成一条新的规则,然后触发条件b以避免现有规则与新规则重叠:

条件b:

then(nt←nt-1)

当满足条件b时,意味着新的中心将任何先前存在的规则中心描述到相对较高的程度,并且应该消除现有的重叠规则。

第六步:计算每条规则的效用检查条件c,判断是否需要删除已有规则,每条规则的效用表示自生成以来它被使用的次数。实用程序是累积的规范化激活级别,关于第t个样本的效用公式定义为:

其中,

值由公式(6)获得,tk指的是第k条规则形成的时刻。

条件c:

then(nt←nt-1)

其中η是常数参数,η∈[0.03,0.1]。一旦满足条件b,规则就会被删除。

2.2.参数学习

参数学习阶段与每个输入数据的结构学习阶段同时进行。无论规则是新生成的还是先前存的,eit2fnn-lstm中所有的自由参数都会被调整。由于这种在线学习的特征,随着学习的进行,eit2fnn-lstm可以随时用于正常的操作,而不用事先指定任何模糊规则。当考虑单输出的情况下我们的目标是尽量减少误差函数:

在这里,y(t)和yd(t)分别表示第t时刻实际和期望的输出,e(t)为t时刻的目标函数。在结构学习之后,基于新演进的网络结构计算实际输出y(t)。在eit2fnn-lstm中,反向计算每一层的误差值δ利用梯度下降算法调节网络所有的参数,根据公式(14)可得,第k个规则的输出层和第五层网络之间的权重wk梯度为:

第五层网络中lstm节点中的参数计算其梯度时分为两种情况:1.误差项沿时间的反向传递;2.误差项沿上一层传递为;在t时刻,根据公式(7)-(13),对于第k个规则,第五层的输出值为hk(t),首先定义t时刻的误差项δk(t),四个加权输入netf,k(t),neti,k(t),netct,k(t),neto,k(t)的误差项为:

其中,

netf,k(t)=wkfx·fk(t)+wkfh·hk(t-1)+bkf(28)

neti,k(t)=wkix·fk(t)+wkih·hk(t-1)+bki(29)

netct,k(t)=wkctx·fk(t)+wkcth·hk(t-1)+bkct(30)

neto,k(t)=wkox·fk(t)+wkoh·hk(t-1)+bko(31)

误差项沿时间反向传递,获得t-1时刻的误差项δk(t-1),由等式(11),等式(12)可以得到:

其中,

由上面的公式我们可以得出将误差项传递到任意时刻t的公式:

由上面的公式求得各个权重的梯度,因为wkfh,wkih,wkcth,wkoh,bkf,bki,bkct,bko因为存在时间轴上的传递,所以他们的权重梯度是各个时刻的梯度之和,所以他们的梯度分别为:

对于wkfx,wkox,wkix,wkctx,不需要在时间轴上传递,只和上一层的输出有关,因此它的权重梯度只需根据相应的误差项直接计算即可,具体如下:

根据公式(6)得第三层网络和第四层网络之间权重αk的梯度为:

其中,

第二层网络中,中心和宽度的梯度计算如下:

其中,误差函数相对于中心的左边界的导数为:

其中,

其中,

相应的得到误差函数相对于中心的右边的导数为:

其中,

其中,

误差函数相对于宽度的导数为:

其中,

例1:非线性系统的辨识

这个例子使用eit2fnn-lstm来辨识一个非线性动力系统,这是j.b.theocharis,ahigh-orderrecurrentneuro-fuzzysystemwithinternaldynamics:applicationtotheadaptivenoisecancellation,fuzzysetsandsystems157(4)(2006)471–500.所研究的问题。用差分方程指导具有输入时滞的动力系统:

yp(k+1)=f(yp(k),yp(k-1),yp(k-2),u(k),u(k-1)),(55)

其中,

只有电流状态yp(k)和控制输入u(k)作为eit2fnn-lstm的输入。eit2fnn-lstm的训练包括10个周期,每个周期900个时间步。这个训练期的数目与以往研究中abiyevrh,kaynako.type2fuzzyneuralstructureforidentificationandcontroloftime-varyingplants[j].ieeetransactionsonindustrialelectronics,2010,57(12):4147-4159.所采用的训练周期相同。与juang,chia-feng,lin,yang-yin,tu,chiu-chuan.arecurrentself-evolvingfuzzyneuralnetworkwithlocalfeedbacksanditsapplicationtodynamicsystemprocessing[j].fuzzysetsandsystems,2010,161(19):2552-2568.一样,输入是[-2,2]上的一个独立同分布的随机序列,约为900个时间步长的一半,以及在剩余时间内由1.05sin(πk/45)给出的正弦波。在这900个训练数据中没有重复,即每个周期使用不同的训练集。为了便于比较结果,测试使用了j.b.theocharis,ahigh-orderrecurrentneuro-fuzzysystemwithinternaldynamics:applicationtotheadaptivenoisecancellation,fuzzysetsandsystems157(4)(2006)471–500.中相同的输入。

当eit2fnn-lstm进行结构学习时η被设置为0.08,ρ被设为0.85。高斯隶属函数的标准差初始值设为0.3,循环结构lstm的权重的初始值选取随机值[0,1],随机选输出权值为[-1,1],学习率为0.01。图6显示eit2fnn-lstm输出结果。为了比较,表1还显示了应用于同一识别任务的不同算法的识别结果。图7显示了eit2fnn-lstm测试输出和实际输出之间的差异的绝对值。

表1应用于同一识别任务的不同算法的识别结果

例2:鲍鱼年龄预测

鲍鱼年龄预测问题的目的是根据鲍鱼年龄的物理特征来预测鲍鱼的年龄。数据集从uci机器学习库中收集。他包括4177个样本;其中3342个样本用于训练,其余835个样本用于测试。以长度、直径、高度、全重、脱壳重、内脏重、壳重为输入特征,对环数进行预测。eit2fnn-lstm的性能与mcit2fis-us,rit2nfs-wb和seit2fnn进行了比较。结果由表2给出。表2显示了所有算法使用的规则数量,训练和测试rmse。从表2中可以看出eit2fnn-lstm的泛化能力优于其它算法。

表2鲍鱼年龄预测问题的性能比较

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1