system: [SYSTEM]

user: 3. 时空分离及FOA-Elman模型辨识 3.1. 时空分离 在所有通过线性展开对时间和空间进行分离的方法中，K-L分解是获取低维模型是最为有效的方法。换言之，即对于给定的建模误差，通过K-L分解得到的基函数个数是最少的。 3.1.1. 时空分离方法 为简化处理过程，假设系统输出 { y ( x i ， t ) } i = 1 ， t = 1 N ， L 均匀地分布在时间和空间中。假设系统正交空间基函数为 ，时间系数为： ，则系统空间输出可以表示为如下形式： y ( x ， t ) = ∑ i = 1 ∞ φ i ( x ) y i ( t ) (1) 由于空间基函数的正交特性，即 ( φ i ( x ) ， φ j ( x ) ) = ∫ Ω φ i ( x ) φ j ( x ) d x = { 0 ， i ≠ j 1 ， i = j (2) 为了求得系统的主导空间基函数，可以转化为求解式(3)所述最小化问题： { min φ i ( x ) 〈 [ y ( x ， t ) − ∑ i = 1 n φ i ( x ) ( φ i ( x ) ， y ( x ， t ) ) 2 ] 〉 s . t . ( φ i ( x ) ， φ i ( x ) ) = 1 ， φ i ( x ) ∈ L 2 ( Ω ) ， i = 1 ， ⋯ ， n (3) 其中 〈 f ( x ， t ) 〉 = 1 L ∑ t = 1 L f ( x ， t ) 为集合均值的定义。该最小化问题对应的拉格朗日函数约束优化问题为： J = 〈 [ y ( x ， t ) − ∑ i = 1 n φ i ( x ) ( φ i ( x ) ， y ( x ， t ) ) 2 ] 〉 + ∑ i = 1 n λ i ( ( φ i ， φ i ) − 1 ) (4) 针对上述的最优化问题，其极值存在的必要条件为： { ∫ Ω R ( x ， ζ ) φ i ( ζ ) d ζ = λ i φ i ( x ) ， s . t . ( φ i ， φ i ) = 1 ， i = 1 ， ⋯ ， n (5) 其中 R ( x ， ζ ) = 〈 y ( x ， t ) ， y ( ζ ， t ) 〉 为空间两点的相关函数。因此，求解式(4)最优化问题转化为求解必要条件式(5)的解。 我们测得的数据总是离散地分布在空间中，因此必须使用数值法求解式(5)。通过离散化积分方程，式(5)转化为 N × N 矩阵的特征值问题，这样可以在 N 个空间采样点上获得 N 个特征值。对于无法获取样本点的地方可以采用插值法获得。 3.1.2. 快照(Snapshots)法 当时间节点数 L 小于空间节点数 时，使用“snapshots” [ 15 ] 方法可以快速有效求得式(5)的解。假设空间基函数 φ i ( x ) 是snapshots的线性组合： φ i ( x ) = ∑ t = 1 L γ i t y ( x ， t ) (6) 将式(6)带入式(5)，可得： ∫ Ω 1 L ∑ t = 1 L y ( x ， t ) y ( ζ ， t ) ∑ k = 1 L γ i k y ( ζ ， k ) d ζ = λ i ∑ t = 1 L γ i t y ( x ， t ) (7) 定义空间两点相关函数为： C t k = 1 L ∫ Ω y ( ζ ， t ) y ( ζ ， k ) d ζ (8) 因此，式(5)的 N × N 矩阵特征值问题转化为如下 L × L 矩阵的特征值求解问题： C γ i = λ i γ i (9) 其中 为第 i 个特征向量。分别将特征向量 γ 1 ， ⋯ ， γ L 带入式(6)即可求得对应的空间基函数 φ 1 ( x ) ， ⋯ ， φ L ( x ) 。因为矩阵 为对称半正定，因此由式(9)所得的特征向量所对应的空间基函数 φ 1 ( x ) ， ⋯ ， φ L ( x ) 为正交的，后对其进行标准化处理即可获得空间基函数 φ 1 ( x ) ， ⋯ ， φ L ( x ) 。 当求得空间基函数，就可以使用式(10)求得相应的时间系数： y i ( t ) = ( φ i ( x ) ， y ( x ， t ) ) ， i = 1 ， ⋯ ， n (10) 在建模中，系统空间输出一般由反映系统主要能量的前 n 个主导空间基函数构成，即： y n ( x ， t ) = ∑ i = 1 n φ i ( x ) y i ( t ) (11) 3.1.3. 维数n的选取 对于建模选取的主导空间基函数个数 n 而言，其个数越多，所能反映的系统能量就越多，但会增加系统建模的复杂度 [ 13 ]。定义系统全部能量为所有特征值之和，则最大特征值对应的空间基函数所反映的系统能量是最多的。对于每个空间基函数，基于其特征值，所占系统能量为： E i = λ i ∑ j = 1 L λ j (12) 一般来说，当前 n 个空间基函数所占系统总能量的百分比大于99.9或99.99时，则认为该组空间基函数可以反映出系统绝大部分能量。下文中将通过仿真实例来说明，只要选取合适的空间基函数个数 n ，模型就可以达到要求的精度 [ 16 ]。 3.2. FOA-Elman模型辨识 假设 u ( t ) 和 y ( t ) 可以由NARX模型描述： y ( t ) = F [ y ( t − 1 ) ， ⋯ ， y ( t − n y ) ， u ( t − 1 ) ， ⋯ ， u ( t − n u ) ] (13) 其中， u ( t ) ∈ ℜ m 和 y ( t ) ∈ ℜ n 分别表示时间输入和输出， n u 和 n y 分别表示最大输入和输出滞后。 NARX模型为黑箱模型，建模过程无需知道其内部机理，可以利用输入、输出数据建立数学模型。由于神经网络具有强大的非线性逼近能力、快速并行运算能力、较强的容错性和鲁棒性等特点，因而在非线性系统辨识领域有着广泛的应用。其中Elman神经网络是一种典型的动态神经网络，能够直接反映系统的动态特性，广泛应用于动态系统建模中，然而常规Elman神经网络学习算法存在极易陷入局部最优，收敛速度慢等特点，一种新的全局优化算法——FOA算法，可对Elman神经网络的权值和阀值进行全局优化。在本文中，我们将利用基于FOA的Elman神经网络对NARX模型进行辨识。 3.2.1. Elman神经网络 Elman神经网络由四层网络组成：输入层、隐含层(中间层)、承接层和输出层。Elman神经网络是在前馈神经网络的隐含层中增加一个承接层，隐含层的输出通过承接层连接到隐含层的输入。承接层作为一步时移算子使网络具有记忆功能，增强了系统对历史数据的敏感性，进而使模型具有动态处理数据的能力，能直接反映动态过程的系统特性。 Elman神经网络的非线性状态空间表达式如下： y ( k ) = g ( w 3 x ( k ) ) (14) x ( k ) = f ( w 1 x c ( k ) ) + w 2 ( u ( k － 1 ) ) (15) x c ( k ) = x ( k − 1 ) (16) 式中 u 为输入向量； x 为隐含层节点输出向量， y 为输出节点向量， x c 为状态反馈向量。 w 1 为承接层到隐含层的连接权值； w 2 为输入层到隐含层连接权值； w 3 为隐含层到输出层连接权值。 g ( * ) 为输出神经元的传递函数，是隐含层输出的线性组合； f ( * ) 为隐含层神经元的传递函数，常采用 S 函数。 3.2.2. 果蝇优化算法 果蝇优化算法是由台湾学者潘文超博士通过对果蝇觅食过程的模拟，提出的一种全新的寻找函数全局最优解的迭代智能优化算法。果蝇凭借着敏锐的嗅觉器官可以分辨数十公里外的各种气味，然后向该位置飞去，也可以利用视觉器官飞向食物和其它果蝇。按照果蝇寻找食物的过程，可以将FOA算法总结为以下步骤： Step 1：设定群体规模，最大迭代次数，随机初始化果蝇群体位置 X _ a x i s ， Y _ a x i s 。 Step 2：随机果蝇个体搜索方向和搜索距离： { X i = X _ a x i s + rand ( · ) Y i = Y _ a x i s + rand ( · ) (17) Step 3：因无法获得食物位置，先计算当前果蝇个体位置与原点的距离，后取距离的倒数作为果蝇个体的味道浓度判定值： D i s t i = X i 2 + Y i 2 (18) (19) Step 4：将味道浓度判定值 S i 代入适应度函数，求出味道浓度 Smell i ： (20) Step 5：找出该果蝇群体中味道浓度值最佳的果蝇个体： [ bestSmell   bestindex ] = min ( Smell i ) (21) Step 6：记录并保留最佳味道浓度值 bestSmell 与其 X 、 Y 坐标，此时果蝇群体将向该位置飞去： (22) Step 7：迭代寻优，重复执行Step 2~Step 6，并判断当前最佳味道浓度值是否优于前一迭代，并且判断是否达到最大迭代次数，若是停止运行。 3.2.3. 基于FOA算法的Elman神经网络预测模型 本文中，定义适应度函数为预测值与实际值的均方根误差： RMSE = ∑ i = 1 n ( P i r － P i f ) n (23) 式中， n 为预测样本数量； P i r 、 P i f 分别为实际值和预测值。 Elman神经网络的相关参数由味道浓度判定值 S i 来表示，在每次迭代中，将获得的当前最佳味道浓度判定值 S i 代入Elman神经网络进行建模预测，并计算适应度值，重复执行Step 2~Step 6。当FOA算法到达最大迭代次数或终止条件时，迭代终止，得到Elman神经网络最优参数，将网络权值和阀值赋给Elman神经网络，进行训练及预测输出。 基于FOA-Elman的时空建模如图2所示，通过FOA-Elman神经网络估计获得NARX模型输出 与上文获得的空间基函数 φ i ( t ) 进行时空综合，即可获得分布参数系统时空FOA-Elman模型，完整的时空FOA-Elman模型如下式所示： { y ^ ( t ) = F ^ ( y ( t − 1 ) ⋯ y ( t − n y ) ， u ( t − 1 ) ⋯ u ( t − n u ) ) y ^ n ( x ， t ) = ∑ i = 1 n φ i ( x ) y ^ i ( t ) (24) 图2. 时空FOA-Elman模型结构图 综合以上所述建模方法，分布参数系统的时空分解建模方法步骤总结如下： Step 1：为分布参数系统施加激励，获得系统输出 { y ( x ， t ) } i = 1 ， t = 1 N ， L ，利用snapshots法得到系统空间基函数 { ϕ i ( x ) } i = 1 n 和时间系数 { y ( t ) } t = 1 L 。 Step 2：在每个采样点处，对激励信号 u ( t ) 和时间系数 y ( t ) ，利用FOA-Elman进行模型辨识。 Step 3：系统重构，得到建模输出 。