[0003] 本发明的目的是针对化学反应中催化棒对象的建模过程中比较困难这一问题,通过采集数据,模型的建立和参数优化等手段,提出了一种主元分析算法和遗传算法优化径向基神经网络对非线性分布式参数系统进行建模的方法。该方法通过采集对象的输入和输出数据,利用主元分析法通过降低维数将分布式参数系统分为自回归线性模型和非线性模型,通过最小二乘法对自回归线性模型进行辨识。非线性模型利用最小二乘法建立对象的RBF神经网络模型,然后通过遗传算法优化RBF-神经网络模型的参数,该方法建立的模型具有较高的精确性,能够很好的描述过程对象的动态性能。
[0004] 本发明的方法的步骤如下:
[0005] 步骤1、采集过程对象的实时运行数据,建立对象的分布式参数模型[0006] 1.1以 为输入的时空数据, 为采集的输出数据,和相应的状态变量 其中t是时间序列,L为时间序列的长度,zi为采集的第i组输出数据所处的空间位置,N为采集的输出数据的总数。
[0007] 1.2时空变量 通过傅里叶变换可得:
[0008]
[0009] 根据实际的情况转换为有限空间可得:
[0010]
[0011] 其中 是n次的逼近, 是傅里叶变换得到的正交基函数, 是时间系数。
[0012] 1.3由于基函数是正交向量,可以得到:
[0013]
[0014] 其中(.,.)是向量的内积运算,则步骤1.2中的时间系数进一步变换可得:
[0015]
[0016] 1.4通过求解函数的最小值可得 形式如下。
[0017]
[0018] 其中,定义||f(z)||=(f(z),f(z))1/2,总体平均值 其中f(z)为函数。求解的 满足如下条件。
[0019]
[0020] 其中 是空间两点的相关函数,正交基函数 可以线性表示为:
[0021]
[0022] 1.5由步骤1.4可得:
[0023]
[0024] 时间两点的相关函数定义为 经过化简可表示为:
[0025] Cγit=λiγit
[0026] 其中γit=[γi1,...,γiL]是第i个特征向量,C是时间两点相关函数的矩阵。把特征值按照大小的顺序进行排列,即λ1>λ2>…>λL,通过求取前面n个特征值使其满足前面n项的Ei之和大于98%,由此来确定n的大小。
[0027]
[0028] 1 . 6 把 希 尔 伯 特 空 间 划 分 为 H s 和 H f 两 个 子 空 间 其 中系统可以表示为:
[0029]
[0030] 其中As和Bs是需要辨识的矩阵,fs(Xs,0)是u≡0的非线性部分,Y为系统的输出变量、Cs为单位矩阵。
[0031] 步骤2.线性时不变自回归模型的解耦辨识的具体步骤。
[0032] 2.1通过步骤1.6空间的低维时间序列的输出yi(t)可表示为:
[0033]
[0034] 2.2忽略fs对系统造成的影响,可将系统近似为线性时不变自回归模型。
[0035]
[0036] 其中A(q-1),B(q-1)分别为n×n,n×p项对角矩阵多项式,ny、nu分别为输入输出的阶次,q-1是后移算子,进而可以变换得:
[0037]
[0038] 其中 y(t-1),…y(t-ny)分别表示t-1时刻…t-ny时刻的输出。
[0039] 2.3通过使用最小二乘法进行辨识系统中θ。
[0040]
[0041] 其中0<μ<1是遗忘因子,K(t)矩阵的权重系数,P(t)一个正定协方差矩阵,可以计算出Ai(i=1,...,ny),Bj(j=1,...,nu)。
[0042] 步骤3.基于RBF神经网络辨识非线性部分具体步骤如下。
[0043] 3.1通过一系列输出y(t),并且在u(t)≡0的情况下,经过ΔTs采样间隔时间后,进行采样获得y(t+ΔTs),可以得到非线性部分为:
[0044] fs(t)=y(t+ΔTs)-Ay(t),fs=[f1,f2,...,fn]
[0045] 3.2 RBF神经网络由输入层、隐含层、输出层3部分组成。其中包含ny个输入,nr个隐含层的节点,一个输出节点f1。隐含层的基函数选取为薄板样条函数,则第i层隐含节点可以表示为:
[0046] hi(X)=||X-Ci||2lg(||X-Ci||),i=1,2,...,nr
[0047] 其中Ci为隐含层的中心
[0048] 3.3RBF神经网络的第j层的输出,可以表示为:
[0049]
[0050] 其中Wij是隐含层到输出层的权重系数,可以通过最小二乘法获得:
[0051]
[0052] 3.4由步骤3.2和步骤3.3可以进一步得到RBF神经网络的形式如下:
[0053]
[0054] 步骤4.利用遗传算法优化RBF神经网络。
[0055] 4.1设定种群染色体数量为M,进化的最大迭代次数为N1,随机初始化种群。通过适应度函数优化径向基的个数和径向基中心数目可得目标函数:
[0056] f=es+ω·nr
[0057] 其中ω为权重系数,es是时间[t1 tL]内实际的输出与RBF神经网络的输出误差总和:
[0058]
[0059] 4.2采用十进制编码方式对染色体进行编码,第i个的染色体可以表示为:
[0060]
[0061] 其中i=1,2,…,M,M是种群染色体数量,nr是隐含节点的个数,ny是输入节点的个数,1≤nr≤D,D是隐含层节点的最大个数,因此Ci′为m×D的矩阵。染色体Ci′中的元素为:
[0062] cij=fmin+r(fmax-fmin),1≤i≤nr,1≤j≤ny
[0063] 其中r是位于[0.1,1]之间的随机变量,fmax,fmin分别为RBF神经网络的输出的最大值和最小值。
[0064] 4.3选取染色体的操作算子的具体步骤为:
[0065] 4.3.1染色体交叉运算。选取交叉算子Pc,使染色体Ci′和下一个染色体 Ci+1′以概率Pc进行交叉运算,产生下一代染色体。
[0066] 4.3.2染色体校正运算。为了产生新的径向基神经网络结构,以校正算子 Pr的概率增加或者减少隐含层节点的个数,从而产生新的隐含层点个数 nr=nr+r1,r1∈[-D/4,D/4]随机的整数.进而改变染色体Ci′中元素cij。
[0067] 4.3.3染色体变异运算。为了得到搜索空间中更好的解,以Pm的概率改变隐含层节点的个数nr,进而改变染色体中的元素Ci′,从而完成染色个体变异的操作。
[0068] 4.4依照步骤4.2到4.3中的步骤进行循环重复优化搜索,如果达到最大的进化次数N1结束优化搜索计算,得到经过遗传算法优化后的染色体Ci′,进一步通过解码得到RBF神经网络的参数。
[0069] 本发明有益效果:该方法通过采集过程对象的输入输出数据,通过使用主元分析法把分布式参数模型分解为低维线性模型和非线性模型,在利用径向基神经网络对非线性特性的良好描述性能,利用最小二乘法建立了过程对象的径向基神经网络模型,然后利用遗传算法来优化基于径向基神经网络模型的参数,该方法建立的模型具有较高的精确性,能很好地描述过程对象的动态特性。