Hammerstein-Wiener 时变系统的带遗忘因子学习辨识算法①

2023-09-24 13:15仲国民俞其乐汪黎明
高技术通讯 2023年8期
关键词:时间轴参数估计时变

仲国民 俞其乐 汪黎明

(浙江工业大学信息工程学院 杭州 310023)

0 引言

时变参数估计问题在系统辨识领域一直受到人们关注。实际场合中广泛存在时变性和非线性,因此时变非线性系统的辨识问题逐渐成为系统辨识领域较为热门的研究课题之一[1-3]。

线性系统的模型结构可以用统一的模型描述,如差分方程、状态空间模型等[4],非线性系统结构复杂,难以直接进行参数估计。基于块结构的非线性模型在诸如化学过程和生物生理系统[3]、热反应和化学反应[5]、控制系统[6]和生物信息学[7]中被广泛采用。本文研究的Hammerstein-Wiener 系统[1]作为块结构非线性系统中最为复杂的一种,该模型由输入静态非线性环节、动态线性子系统以及输出静态非线性环节串联构成,通常用来描述在输入输出部分存在非线性元素的系统。现有的块结构Hammerstein-Wiener 非线性系统参数估计方法主要有:最优两阶段辨识法[1]、盲辨识法[2]、迭代辨识法[8]、偏差补偿最小二乘法[9]、递推辨识[10]和梯度或最小二乘迭代辨识法[11]等。文献[12]借助线性变权粒子群算法对Hammerstein-Wiener 时滞系统进行辨识,利用粒子群优化和迭代辨识技术实现同步控制所有参数和未知时延的估计。文献[13]突破了Hammerstein-Wiener 非线性系统元素参数化的限制,线性和非线性块参数估计可以在一个阶段进行。文献[14]针对Wiener-Hammerstein 系统辨识问题,提出了2 种估计分别恢复静态非线性特性和线性动态块。文献[15]使用非参数高斯过程对结构化非线性系统进行建模,并验证了所提出的非参数建模方法可以有效地建模和辨识。

针对特定模型的非线性系统,需要将现有的先验信息,特别是结构先验知识纳入到算法中,通常会采用特定的辨识算法。现有的递推最小二乘法被证明不具备时变参数的跟踪能力,本文提出的迭代学习辨识方法,其动机来自迭代学习控制的基本思想[16]。对于递推算法而言,假设时变参数的变化规律未知,其估计就难以获得一致收敛性。针对重复运行的系统,无论其时变参数随时间如何变化,沿任意时刻重复轴对应的参数缓变,考虑将时间轴上的递推思想运用于重复轴的学习,构建沿重复轴的“递推”算法[17]。针对文献[18]中所给有限区间上重复运行的Hammerstein-Wiener 非线性时变系统,非线性输出部分是可逆的,将该部分反函数通过多项式展开以构造回归模型。给出能够衡量重复估计性能的指标函数,推导该系统带遗忘因子迭代学习梯度算法(iterative learning gradient algorithm with forgetting factor for Hammerstein-Wiener systems,HW-FILG)和带遗忘因子迭代学习最小二乘算法(iterative learning least squares algorithm with forgetting factor for Hammerstein-Wiener systems,HWFILLS)。仿真结果显示在重复持续激励条件下,2种算法能够获得时变参数的完全估计,验证了该算法的有效性。

1 问题描述

考虑如下时变Hammerstein-Wiener 非线性系统,如图1 所示,其线性动态子系统描述如下。

图1 Hammerstein-Wiener 模型

uk(t)和yk(t) 是系统t时刻的输入和输出,其中非线性函数f-1和g可以用不同的函数结构来建模,如神经网络结构、多项式函数、饱和函数、死区函数等。文中把其看作是已知基函数的多项式线性组合,vk(t)是t时刻零均值、方差为σ2的白噪声序列,假设非线性函数f-1和g可逆。

定义参数矢量:

信息矢量为

从而,式(1)可以获得回归形式如下:

式(2)回归模型系统参数存在耦合现象,独立参数的数量大于未知参数的数量,无法辨识得到唯一的结果。为了确定唯一性,需对其系数进行归一化处理,通过辨识首先得到aik(t)d1k(t) 和bik(t)c1k(t),取cik(t) 的第1 项c1k(t)=1,dik(t) 的第1 项d1k(t)=1,对其做除法可以得到aik(t) 和bik(t),再对其做除法和算术平均处理。

可依次得到独立的参数变量[19-20],从而获得唯一确定的估计参数θlk。

2 非线性时变系统参数辨识

系统在给定的作业区间上重复运行时,记录或量测由第1 次到第k次运行时的输入输出数{yi(t),ui(t),φi(t),0 ≤t≤N,i=1,2,…,k},对于固定的时刻,其中ui(t) 和yi(t) 为第i次运行的系统输入和输出,φi(t) 是第i次运行的信息向量,对于某一固定时刻,记

第k次重复运行后,系统所有运行特性的矩阵形式可表示为

2.1 带遗忘因子迭代学习梯度算法

为获得系统时变参数的估计,首先介绍带遗忘因子的迭代学习梯度算法,如算法1 所示。引入遗忘因子λ,λ∈(0,1],定义:

基于负梯度搜索算法,可沿输出残差平方的负梯度方向修正,从而得到迭代学习梯度算法的参数更新率。

其中r0(t)=1,式(6)及式(7)便构成了该模型带遗忘因子迭代学习梯度算法。当λ=1 时,该算法简化为一般的迭代学习梯度算法。

2.2 带遗忘因子迭代学习最小二乘算法

递推最小二乘算法解决了最小二乘法中数据量较大、内存占用多等问题。同时,在此基础上引入遗忘因子增强新数据权重,防止数据饱和,对于时变系统可以获得更好的参数跟踪效果。下面介绍沿重复轴的带遗忘因子迭代学习最小二乘算法[21],如算法2所示。引入遗忘因子λ,λ∈(0,1],定义:

式(15)及式(23)构成该模型带遗忘因子迭代学习最小二乘算法。其中,当λ=1 时,该算法简化为普通的迭代学习最小二乘算法。

3 算例仿真

本节将完成具体的算例仿真,考虑如下时变Hammerstein 模型:

分别采用带遗忘因子迭代学习梯度算法和带遗忘因子迭代学习最小二乘算法对该模型进行参数估计,仿真中数据长度t=1000,迭代次数取k=500。为了说明本文所提学习算法的有效性,引入现有带遗忘因子梯度算法和带遗忘因子递推最小二乘算法对该模型进行参数估计,仿真中数据长度t=500。仿真时,vk(t) 采用均值为零、方差σ2=0.12的随机白噪声序列,对应的信噪比为7.66%,输入uk(t)采用零均值、不相关可测随机信号序列。输入输出部分非线性函数取。为避免参数耦合问题,线性部分参数:

取λ=0.8,初始化θ0=[0,0,0,0,0,0,0]T,P0(t)=I×106,r0(t)=1。对于固定的第k次迭代,选取在所有时刻t上,跟踪误差绝对值最大的时刻t1和参数误差绝对值最大的时刻t2,t1和t2时刻对应的值ek(t1) 和δk(t2) 分别作为该次迭代的跟踪误差和参数误差。定义参数误差δk(t) 和跟踪误差ek(t):

由于三维曲面上难以直观表达采用迭代学习算法所获得的参数估计情况,以迭代次数k=500、时间轴t=100 时刻前的数据,作为沿时间轴快变参数估计结果,以及t=1000、迭代次数k=100 前的数据,作为沿迭代轴缓变参数估计的结果来验证算法的性能。通过估计得到的参数,分析算法对该模型时变参数沿时间轴和迭代轴的跟踪效果。如图2~7所示。

图2 带遗忘因子梯度算法跟踪误差

图3 迭代学习梯度算法跟踪误差

图4 带遗忘因子迭代学习梯度算法跟踪误差

图5 带遗忘因子递推最小二乘算法跟踪误差

图6 迭代学习最小二乘算法跟踪误差

图7 带遗忘因子迭代学习最小二乘算法跟踪误差

仿真结果显示,带遗忘因子梯度算法和带遗忘因子递推最小二乘算法无法实现对该模型时变参数的完全估计;而迭代学习梯度算法和迭代学习最小二乘算法均可较好地实现对该模型时变参数的跟踪。引入遗忘因子进一步改善了迭代轴时变参数的辨识效果。如图8~15 所示。

图8 带遗忘因子梯度算法参数误差

图9 迭代学习梯度算法参数误差

图10 带遗忘因子迭代学习梯度算法参数误差

图11 带遗忘因子递推最小二乘算法参数误差

图12 迭代学习最小二乘算法参数误差

图13 带遗忘因子迭代学习最小二乘算法参数误差

图14 采用带遗忘因子迭代学习最小二乘算法估计沿时间轴快变参数的结果

4 结论

针对时变Hammerstein-Wiener 模型的辨识,本研究采用了沿迭代轴的重复学习算法,该算法可用于解决时变系统的参数估计问题。针对文中给定的时变Hammerstein-Wiener 模型,假设输出非线性部分可逆,通过算例仿真证明系统在重复持续激励的条件下,传统的沿时间轴递推算法估计该模型时变参数时误差不收敛,无法获得参数的完全估计;迭代学习梯度算法和迭代学习最小二乘算法可以实现对时变参数的估计,同时引入遗忘因子可以有效解决沿迭代轴发生缓变参数的估计问题。

猜你喜欢
时间轴参数估计时变
时间轴上二阶非线性非自治延迟动力系统的振动性
基于新型DFrFT的LFM信号参数估计算法
时间轴里的“共和国记忆”
基于时变Copula的股票市场相关性分析
基于时变Copula的股票市场相关性分析
Logistic回归模型的几乎无偏两参数估计
基于向前方程的平稳分布参数估计
烟气轮机复合故障时变退化特征提取
基于竞争失效数据的Lindley分布参数估计
时间轴在历史教学中的应用