首页 / 专利库 / 人工智能 / 进化算法 / 一种基于结构自适应滤波的非线性系统辨识方法

一种基于结构自适应滤波的非线性系统辨识方法

阅读:422发布:2020-05-11

专利汇可以提供一种基于结构自适应滤波的非线性系统辨识方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种基于结构自适应滤波的非线性系统辨识方法,其步骤如下:获得辨识对象的输入数据和相应的输出数据并作为数据集,将数据集分为训练集和测试集;构建自适应滤波模型:根据生成参数随机的选择一阶子系统和二阶子系统,各个子系统按照连接规则进行随机级联,构成完整的自适应滤波滤波模型;初始化演化 算法 ,选出最优的自适应滤波滤波模型;演化算法进行循环 迭代 ,找到最优的自适应滤波模型的最优的结构和参数;利用训练好自适应滤波模型进行测试,得到辨识对象的实际输出。本发明利用非线性自适应滤波模型学习典型液体 饱和 蒸汽 换热器的非线性过程,可以找到最优估计;误差小, 精度 高,所用参数较少,具有显著的非线性系统识别能 力 。,下面是一种基于结构自适应滤波的非线性系统辨识方法专利的具体信息内容。

1.一种基于结构自适应滤波的非线性系统辨识方法,其特征在于,其步骤如下:
步骤一:确定辨识对象,获得辨识对象的输入数据和相应的输出数据并作为数据集,将数据集分为训练集和测试集;
步骤二:构建自适应滤波模型:根据生成参数随机的选择一阶子系统和二阶子系统,各个一阶子系统或二阶子系统按照连接规则进行随机级联,构成完整的自适应滤波滤波模型;初始化演化算法,并利用演化算法评价初始的自适应滤波滤波模型,选出最优的自适应滤波滤波模型;
步骤三:演化算法进行循环迭代,在训练集上对自适应滤波模型训练,以找到步骤二最优的自适应滤波模型的最优的结构和参数;
步骤四:利用步骤三中训练好的结构和参数最优的自适应滤波模型在测试集上进行测试,得到辨识对象的实际输出。
2.根据权利要求1所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述步骤一中的辨识对象是液体饱和蒸汽换热器,液体饱和蒸汽换热器是一个的非线性基准系统且是单输入单输出模型;输入数据是液体流量、蒸汽温度和入口液体温度的数据,输出数据是出口液体温度的数据,数据集来自于DaISy数据库;所述步骤二和步骤三中的演化算法为基于自适应多精英引导的复合差分进化算法
3.根据权利要求1或2所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述步骤二中自适应滤波模型由多个子系统组成,子系统包括一阶子系统和二阶子系统,一阶子系统由一个延迟器、两个乘法器、两个加法器和一个非线性静态函数组成,二阶子系统由两个延迟器、四个乘法器、三个加法器和一个非线性静态函数;所述一阶子系统和二阶子系统在自适应滤波模型中出现的概率相同。
4.根据权利要求3所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述一阶子系统包括第一加法器、第二加法器、第一单位延迟器和第一非线性静态函数,一阶子系统的输入端与第一加法器相连接,第一加法器的输出端分别与第二乘法器和第一单位延迟器相连接,第一单位延迟器通过第一乘法器与第一加法器相连接,第二乘法器通过第二加法器与第一非线性静态函数相连接;所述二阶子系统包括第三加法器、第四加法器、第五加法器、第二单位延迟器、第三单位延迟器和第二非线性静态函数,二阶子系统的输入端与第三加法器相连接,第三加法器的输出端分别与第四乘法器、第二单位延迟器相连接,第二单位延迟器的输出端分别与第五乘法器、第六乘法器和第三单位延迟器相连接,第三单位延迟器与第三乘法器相连接,第三乘法器与第五乘法器的输出端与第四加法器相连接,第四加法器的输出端与第三加法器相连接,第六乘法器和第四乘法器的输出端与第五加法器相连接,第五加法器与第二非线性静态函数相连接。
5.根据权利要求4所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述一阶子系统的线性部分的传递函数为: 其中,A1为第一乘法器的系数,
B1为第二乘法器的系数,A1∈(-1,1),A1,B1∈R,R为自然数集;二阶子系统的线性部分的传递函数为: 其中,|a1|<1,|a2|<1;A1、A2、
B1、B2分别是第五乘法器、第三乘法器、第四乘法器和第六乘法器的系数且A1,A2,B1,B2∈R;下属a1,a2∈C,C表示复数域;所述第一非线性静态函数和第二非线性静态函数是sigmoid函数,且 x为自变量。
6.根据权利要求4或5所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述步骤二中子系统按照连接规则进行随机级联的方法为:演化算法的种群大小为NP即有NP个个体,初始种群的NP个个体按照约束条件随机生成,每个单独的个体为一条指令,包含子系统的具体信息按照每个指令存储的信息生成NP个自适应滤波模型;每个个体包括集合θ=[θs1,θs2,…,θsi,…,θsm],每个子系统θsi=[I,O,T,C,P],其中,i为1,2,…,m,m为子系统的个数;每个子系统包括输入节点I、输出节点O、子系统的类型T、连接方式C和参数P,每个子系统有四个参数,四个参数在一定值域内用随机数函数生成,四个参数保证子系统线性部分的系统模型是稳定的,即传递函数的极点在单位圆内;
把步骤一中数据集中的输入数据代入NP个初始的自适应滤波模型,计算每个自适应滤波模型的实际输出序列,对实际的输出进行评价,计算每个自适应滤波模型的适配度;选出NP个模型中适配度最优的一个,判断其是否满足全局最优,若是则结束;若不是,则算法进行循环的迭代演化。
7.根据权利要求6所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述连接方式C包括方式C1、方式C2和方式C3,三种连接方式C1、方式C2和方式C3出现的概率相同,方式C1指生成一个新的活动端口,即新添加的子系统的输入端口连接到当前的活动端口、输出端口连接到新生成的活动端口;方式C2是新增加的子系统的输出端口连接到当前活动端口、输入端口连接到之前的活动端口;方式C3是新增加的子系统的输出端口连接到当前活动端口、输入端口连接到整个自适应滤波模型的输入端口,且添加到现有自适应滤波模型的最后一个子系统的输出是整个自适应滤波模型的输出;若连接方式是方式C1,新活动端口的值是其上一个活动端口的值加上1。若连接方式是方式C2和方式C3,活动端口的值保持不变。
8.根据权利要求2或7所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述复合差分进化算法的实现步骤为:
第一步,随机生成NP个个体产生初始种群P0,每个个体是一个命令序列称为目标向量XGi,每个命令序列指导生成一个完整的结构和参数随机的自适应滤波模型;
第二步,计算目标向量的适配度:计算初始种群P0所有个体的适配度,选出NP个个体中适配度最小的个体,判断其适配度是否为0,即目标向量 是否为全局最优,若是则输出最佳个体,结束计算;否则,执行第三步;
第三步,进行变异操作,两个试验向量 和 分别由突变算子M1和突变算子M2产
生,突变算子M1从逻辑局部最优解中学习,突变算子M2从随机选择的较优解中学习;试验向量 和 经过二项式交叉后生成新的试验向量 和
第四步,进行选择,试验向量 和 中最好的一个被作为目标向量 的最终试验
向量 并存活且进入下一代;选择过程中丢弃的目标向量放入一个外部库A中,外部库A的大小超过NP,随机删除外部库A中多余的个体;
第五步,查看种群中NP个目标向量 各自参数取值是否在合理的范围内,若不在则用随机函数在约束范围内更新目标向量 的参数;
第六步,每一代结束时,启动转移机制,通过多样化策略或收敛策略进行转移;
第七步,返回步骤二进行比较。
9.根据权利要求8所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述步骤二中目标向量的适配度的计算方法为:自适应滤波模型t时刻的实际输出 和期望输出y(t)的预测误差为:
实际输出 和期望输出y(t)的均方误差为目标向量的适配度:
其中,MSE为均方误差函数,N表示数据集中变量的个数;
所述多样化策略为:
收敛策略为:
其中,jset是被随机选择的移位变量的集合,j是{1,2,…,30}中的一个随机数; 是更新后的向量 的第j个变量,而 和 分别是向量 的第j个变量的上界和下界;
是向量 的第j个变量; 是突变算子M2选择出的最优的向量, 是向量 的
第j个变量, 和 是种群中随机选择出的两个向量, 和 分别为向量 和向量
的第j个变量。
10.根据权利要求1所述的基于结构自适应滤波的非线性系统辨识方法,其特征在于,所述步骤三中得到最优的自适应滤波模型包括子系统S1-S15,输入端口x(n)分别通过子系统S1、子系统S2、子系统S5、子系统S6、子系统S11、子系统S12和子系统S14与输出端口y(n)相连接,输入端口x(n)通过并联连接的子系统S3和子系统S4与子系统S5的输入端相连接,输入端口x(n)通过并联连接的子系统S7、子系统S8、子系统S9、和子系统S10与子系统S11的输入端相连接,输入端口x(n)通过子系统S13与子系统S14的输入端相连接,输入端口x(n)通过子系统S15与子系统S14的输出端相连接,即子系统S14的输出端与子系统S15的输出端经过加法器得到输出端口y(n)的输出信号;其中子系统S2、子系统S3、子系统S4、子系统S5、子系统S6、子系统S10、子系统S11、子系统S13和子系统S15是二阶子系统,子系统S1、子系统S7、子系统S8、子系统S9、子系统S12和子系统S14是一阶子系统。

说明书全文

一种基于结构自适应滤波的非线性系统辨识方法

技术领域

[0001] 本发明涉及系统辨识的技术领域,尤其涉及一种基于结构自适应滤波的非线性系统辨识方法。

背景技术

[0002] 系统辨识设计广泛应用于化工、机械、电气和土木工程等各个工程领域的过程建模和控制,对社会生产提供了数学依据,并且带来了极大的便利。
[0003] 一些系统的模型可以用线性参数化的形式表示,并且可以应用自适应控制来实现输出跟踪,对其中未知的系统参数可以在线识别和估计。然而,在实际的社会实践和生产中,很多系统具有高度的非线性特性,该类系统模型较为复杂,对其进行系统建模和控制比较艰难。传统的系统建模和辨识方法难以实现对非线性系统的有效辨识。

发明内容

[0004] 针对非线性系统辨识中模型复杂、建模较难,且辨识率低的技术问题,本发明提出一种基于结构自适应滤波的非线性系统辨识方法,利用演化算法对非线性结构自适应滤波模型进行训练,以实现非线性结构自适应滤波模型的自适应迭代,从而搜索到全局最优的结构和参数,可以对辨识对象进行有效的拟合。
[0005] 为了达到上述目的,本发明的技术方案是这样实现的:一种基于结构自适应滤波的非线性系统辨识方法,其步骤如下:
[0006] 步骤一:确定辨识对象,获得辨识对象的输入数据和相应的输出数据并作为数据集,将数据集分为训练集和测试集;
[0007] 步骤二:构建自适应滤波模型:根据生成参数随机的选择一阶子系统和二阶子系统,各个一阶子系统或二阶子系统按照连接规则进行随机级联,构成完整的自适应滤波滤波模型;初始化演化算法,并利用演化算法评价初始的自适应滤波滤波模型,选出最优的自适应滤波滤波模型;
[0008] 步骤三:演化算法进行循环迭代,在训练集上对自适应滤波模型训练,以找到步骤二最优的自适应滤波模型的最优的结构和参数;
[0009] 步骤四:利用步骤三中训练好的结构和参数最优的自适应滤波模型在测试集上进行测试,得到辨识对象的实际输出。
[0010] 所述步骤一中的辨识对象是液体饱和蒸汽换热器,液体饱和蒸汽换热器是一个的非线性基准系统且是单输入单输出模型;输入数据是液体流量、蒸汽温度和入口液体温度的数据,输出数据是出口液体温度的数据,数据集来自于DaISy数据库;所述步骤二和步骤三中的演化算法为基于自适应多精英引导的复合差分进化算法
[0011] 所述步骤二中自适应滤波模型由多个子系统组成,子系统包括一阶子系统和二阶子系统,一阶子系统由一个延迟器、两个乘法器、两个加法器和一个非线性静态函数组成,二阶子系统由两个延迟器、四个乘法器、三个加法器和一个非线性静态函数;所述一阶子系统和二阶子系统在自适应滤波模型中出现的概率相同。
[0012] 所述一阶子系统包括第一加法器、第二加法器、第一单位延迟器和第一非线性静态函数,一阶子系统的输入端与第一加法器相连接,第一加法器的输出端分别与第二乘法器和第一单位延迟器相连接,第一单位延迟器通过第一乘法器与第一加法器相连接,第二乘法器通过第二加法器与第一非线性静态函数相连接;所述二阶子系统包括第三加法器、第四加法器、第五加法器、第二单位延迟器、第三单位延迟器和第二非线性静态函数,二阶子系统的输入端与第三加法器相连接,第三加法器的输出端分别与第四乘法器、第二单位延迟器相连接,第二单位延迟器的输出端分别与第五乘法器、第六乘法器和第三单位延迟器相连接,第三单位延迟器与第三乘法器相连接,第三乘法器与第五乘法器的输出端与第四加法器相连接,第四加法器的输出端与第三加法器相连接,第六乘法器和第四乘法器的输出端与第五加法器相连接,第五加法器与第二非线性静态函数相连接。
[0013] 所述一阶子系统的线性部分的传递函数为: 其中,A1为第一乘法器的系数,B1为第二乘法器的系数,A1∈(-1,1),A1,B1∈R,R为自然数集;二阶子系统的线性部分的传递函数为: 其中,|a1|<1,|a2|
<1;A1、A2、B1、B2分别是第五乘法器、第三乘法器、第四乘法器和第六乘法器的系数且A1,A2,B1,B2∈R;下属a1,a2∈C,C表示复数域;所述第一非线性静态函数和第二非线性静态函数是sigmoid函数,且 x为自变量。
[0014] 所述步骤二中子系统按照连接规则进行随机级联的方法为:演化算法的种群大小为NP即有NP个个体,初始种群的NP个个体按照约束条件随机生成,每个单独的个体为一条指令,包含子系统的具体信息按照每个指令存储的信息生成NP个自适应滤波模型;每个个体包括集合θ=[θs1,θs2,…,θsi,…,θsm],每个子系统θsi=[I,O,T,C,P],其中,i为1,2,…,m,m为子系统的个数;每个子系统包括输入节点I、输出节点O、子系统的类型T、连接方式C和参数P,每个子系统有四个参数,四个参数在一定值域内用随机数函数生成,四个参数保证子系统线性部分的系统模型是稳定的,即传递函数的极点在单位圆内;
[0015] 把步骤一中数据集中的输入数据代入NP个初始的自适应滤波模型,计算每个自适应滤波模型的实际输出序列,对实际的输出进行评价,计算每个自适应滤波模型的适配度;选出NP个模型中适配度最优的一个,判断其是否满足全局最优,若是则结束;若不是,则算法进行循环的迭代演化。
[0016] 所述连接方式C包括方式C1、方式C2和方式C3,三种连接方式C1、方式C2和方式C3出现的概率相同,方式C1指生成一个新的活动端口,即新添加的子系统的输入端口连接到当前的活动端口、输出端口连接到新生成的活动端口;方式C2是新增加的子系统的输出端口连接到当前活动端口、输入端口连接到之前的活动端口;方式C3是新增加的子系统的输出端口连接到当前活动端口、输入端口连接到整个自适应滤波模型的输入端口,且添加到现有自适应滤波模型的最后一个子系统的输出是整个自适应滤波模型的输出;若连接方式是方式C1,新活动端口的值是其上一个活动端口的值加上1。若连接方式是方式C2和方式C3,活动端口的值保持不变。
[0017] 所述复合差分进化算法的实现步骤为:
[0018] 第一步,随机生成NP个个体产生初始种群P0,每个个体是一个命令序列称为目标向量XGi,每个命令序列指导生成一个完整的结构和参数随机的自适应滤波模型;
[0019] 第二步,计算目标向量的适配度:计算初始种群P0所有个体的适配度,选出NP个个体中适配度最小的个体,判断其适配度是否为0,即目标向量 是否为全局最优,若是则输出最佳个体,结束计算;否则,执行第三步;
[0020] 第三步,进行变异操作,两个试验向量 和 分别由突变算子M1和突变算子M2产生,突变算子M1从逻辑局部最优解中学习,突变算子M2从随机选择的较优解中学习;试验向量 和 经过二项式交叉后生成新的试验向量 和
[0021] 第四步,进行选择,试验向量 和 中最好的一个被作为目标向量 的最终试验向量 并存活且进入下一代;选择过程中丢弃的目标向量放入一个外部库A中,外部库A的大小超过NP,随机删除外部库A中多余的个体;
[0022] 第五步,查看种群中NP个目标向量 各自参数取值是否在合理的范围内,若不在则用随机函数在约束范围内更新目标向量 的参数;
[0023] 第六步,每一代结束时,启动转移机制,通过多样化策略或收敛策略进行转移;
[0024] 第七步,返回步骤二进行比较。
[0025] 所述步骤二中目标向量的适配度的计算方法为:自适应滤波模型t时刻的实际输出 和期望输出y(t)的预测误差为:
[0026]
[0027] 实际输出 和期望输出y(t)的均方误差为目标向量的适配度:
[0028]
[0029] 其中,MSE为均方误差函数,N表示数据集中变量的个数;
[0030] 所述多样化策略为:
[0031]
[0032] 收敛策略为:
[0033]
[0034] 其中,jset是被随机选择的移位变量的集合,j是{1,2,…,30}中的一个随机数;是更新后的向量 的第j个变量,而 和 分别是向量 的第j个变量的上界和
下界; 是向量 的第j个变量; 是突变算子M2选择出的最优的向量, 是向量
的第j个变量, 和 是种群中随机选择出的两个向量, 和 分别为向量
和向量 的第j个变量。
[0035] 所述步骤三中得到最优的自适应滤波模型包括子系统S1-S15,输入端口x(n)分别通过子系统S1、子系统S2、子系统S5、子系统S6、子系统S11、子系统S12和子系统S14与输出端口y(n)相连接,输入端口x(n)通过并联连接的子系统S3和子系统S4与子系统S5的输入端相连接,输入端口x(n)通过并联连接的子系统S7、子系统S8、子系统S9、和子系统S10与子系统S11的输入端相连接,输入端口x(n)通过子系统S13与子系统S14的输入端相连接,输入端口x(n)通过子系统S15与子系统S14的输出端相连接,即子系统S14的输出端与子系统S15的输出端经过加法器得到输出端口y(n)的输出信号;其中子系统S2、子系统S3、子系统S4、子系统S5、子系统S6、子系统S10、子系统S11、子系统S13和子系统S15是二阶子系统,子系统S1、子系统S7、子系统S8、子系统S9、子系统S12和子系统S14是一阶子系统。
[0036] 本发明的有益效果:利用非线性自适应滤波模型学习典型液体饱和蒸汽换热器的非线性过程,基于自适应多精英引导的复合差分进化算法(AMECODEs),可以找到最优估计。实验结果表明,本发明在真实训练数据集和测试数据集上的误差小,精度高,所用参数较少,具有显著的非线性系统识别能
附图说明
[0037] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为本发明的一阶非线性子系统。
[0039] 图2为本发明的二阶非线性子系统。
[0040] 图3为本发明的基于自适应多精英引导的复合差分进化算法(AMECODEs)的流程图
[0041] 图4为本发明的AMECODEs算法中单个个体所包含信息的示意图。
[0042] 图5为本发明子系统的第一种连接方式。
[0043] 图6为本发明子系统的第二种连接方式。
[0044] 图7为本发明子系统的第三种连接方式。
[0045] 图8为本发明非线性的自适应滤波模型的示意图。
[0046] 图9为本发明在训练集上的输出拟合曲线。
[0047] 图10为本发明在测试集上的输出拟合曲线。
[0048] 图11为全局最优的滤波模型结构示意图。

具体实施方式

[0049] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 本发明提供了一种基于结构自适应滤波的非线性系统辨识方法,包括以下步骤:
[0051] 步骤一:确定辨识对象,获得辨识对象的输入数据和相应的输出数据作为数据集,将数据集分为训练集和测试集。
[0052] 确定辨识对象。本发明的辨识对象是一个典型的非线性基准系统--液体饱和蒸汽换热器,该系统为单输入输出系统,系统的输入输出数据集可从DaISy数据库下载(No.97-002:Liquid-saturated steam heat exchanger,http://homes.esat.kuleuven.be/~smc/daisy/daisydata.html)。
[0053] 液体饱和蒸汽换热器过程是非线性控制设计的重要基准函数,它具有非最小相位特性。换热过程中,通过管由加压饱和蒸汽加热。该系统可以看作是单输入单输出(SISO)模型。输入变量是液体流量、蒸汽温度和入口液体温度,输出变量是出口液体温度。在本发明中,蒸汽温度和入口液体温度与它们的名义值保持不变。本发明的数据集共有
3600个样本,前3200个样本(1:3200)用作训练集;接下来的400个样本(3201:3600)用作测试集。
[0054] 步骤二:构建自适应滤波模型:根据生成参数随机的选择一阶子系统和二阶子系统,各个一阶子系统或二阶子系统按照连接规则进行随机级联,构成完整的自适应滤波滤波模型;初始化演化算法,评价初始的自适应滤波滤波模型,选出最优的自适应滤波滤波模型。
[0055] 参阅图1和图2,本发明提出的非线性自适应滤波模型由多个一阶子系统和多个二阶子系统组成。一阶子系统由一个延迟器、两个乘法器、两个加法器和一个非线性静态函数组成。二阶子系统由两个延迟器、四个乘法器、三个加法器和一个非线性静态函数。将一阶子系统或二阶子系统视为一个单元,在算法的初始化中,一阶子系统和二阶子系统出现的概率相同。
[0056] 一阶子系统如图1所示,其中A1和B1表示乘法器,Z-1表示单位延迟,两个黑点表示加法器,箭头表示信号流向。二阶子系统如图2所示,其中A1、B2、B1和B2表示乘法器,Z-1表示单位延迟,三个黑点表示加法器,箭头表示信号流方向。为了便于叙述,本发明将一阶子系统和二阶子系统简称为子系统。
[0057] 一阶子系统线性部分的传递函数为: 其中,A1∈(-1,1);A1,B1∈R;R为自然数集,离散方程形式为:y(n)+A1 y(n-1)=B1x(n),x(n)为n时刻输入的离散变量,y(n)和y(n-1)分别表示n和n-1时刻输出的离散变量。
[0058] 二阶子系统线性部分的传递函数为:|a1|<1,|a2|<1;A1,A2,B1,B2∈R;a1,a2∈
C,C表示复数域;离散方程形式为:
[0059] y(n)+A1 y(n-1)+A2 y(n-2)=B1x(n)+B2x(n-1)。
[0060] 本发明中,非线性静态函数选用的是sigmoid函数,
[0061] 自适应滤波模型中子系统的个数是一个重要的参数。若子系统的个数太少,将不能达到有效的辨识效果;若个数太多,则计算量过大。因此,本发明中,子系统的个数被设为一个大小合适的值,15。
[0062] 子系统随机生成之后,把15个子系统按照连接规则进行随机级联,构成完整的自适应滤波模型。参阅图4,AMECODEs(基于自适应多精英引导的复合差分进化)算法的种群大小设为NP(NP=100),即有NP个个体。在AMECODEs的初始化过程中,初始种群的NP个个体按照约束条件随机生成。每个单独的个体(θ)称为一条指令,包含15个子系统的具体信息。NP个个体即NP个指令,按照每个指令存储的信息生成相应的NP个自适应滤波模型。
[0063] AMECODEs中每个个体的结构如图4所示。其中,系统集合θ=[θs1,θs2,…,si,…,sn],每个子系统θsi=[I,O,T,C,P],其中,i为1,2,…,15。每个子系统的信息如下所示:
[0064] (i)每个子系统的输入节点(I)。第一个子系统的输入结点是1,之后的子系统的输入节点由子系统的连接方式决定。
[0065] (ii)每个子系统的输出节点(O)。第一个子系统的输出结点是2,之后的子系统的输出节点由子系统的连接方式决定,自适应滤波模型中最后一个子系统的输出结点为整个模型的输出结点。
[0066] (iii)每个子系统的类型(T)。类型分一阶子系统和二阶子系统两种,在自适应滤波模型构建的过程中,一阶子系统和二阶子系统出现的概率相同,均为1/2。
[0067] (iv)各子系统的连接方式(C)。共有三种连接方式:C1、C2和C3,三种连接方式出现的概率相同,均为1/3,参阅图5、图6和图7。C1指生成一个新的活动端口,即新添加的子系统的输入端口连接到当前的活动端口,其输出端口连接到新生成的活动端口,如图5所示。C2是新增加的子系统的输出端口连接到当前活动端口,其输入端口连接到之前的活动端口,如图6所示。C3是新增加的子系统的输出端口连接到当前活动端口,其输入端口连接到整个自适应滤波模型的输入端口。在本指令中,添加到现有自适应滤波模型的最后一个子系统的输出是整个自适应滤波模型的输出,如图7所示。若连接类型是C1,新活动端口的值是其上一个活动端口的值加上1。若连接类型是C2和C3,活动端口的值保持不变。
[0068] (v)各子系统的参数(P)。每个子系统有四个参数,即子系统线性部分数学模型的四个系数,四个参数在一定值域内用随机数函数生成,四个参数可以保证线性部分的系统模型是稳定的,即传递函数的极点在单位圆内。
[0069] 参阅图8,每条指令都控制着一个完整的滤波系统的构造。系统的输入端口设置为端口1,从端口1开始,按照指令将子系统逐一添加,形成一个完整的无反馈的自适应滤波模型即滤波系统。
[0070] 举个例子,当子系统的数目(s)为5时,其信息如表1所示,其对应的系统构造如图8所示。图8中,箭头是信号流的方向。x(n)和y(n)分别是系统的输入端口和输出端口。
[0071] 表1.子系统个数为5时的系统信息
[0072]
[0073]
[0074] 然后把采集好的数据集中的输入数据代入NP个初始的自适应滤波模型,计算每个自适应滤波模型的实际输出序列。如图8所示,首先计算节点2处的输出序列,即子系统S1的输出序列;S1的输入序列为x(n),子系统S1的输出序列又作为子系统S2和子系统S3的输入序列;然后计算节点3处的输出序列,节点3处的输出序列为所有以节点3为输出结点的子系统(即子系统S2和子系统S3)的输出序列的累加和;以此类推,最后算出节点4处的输出序列,即整个自适应滤波模型的输出序列。
[0075] 对实际的输出进行评价,即计算每个自适应滤波模型的适配度。t时刻自适应滤波模型的实际输出 和期望输出y(t)的预测误差为ε:
[0076]
[0077] 目标向量的适配度计算公式如下,即实际输出 和期望输出y(t)的均方误差(MSE):
[0078]
[0079] 其中,Fitness表示适配度,N表示数据集中样本的个数。
[0080] 选出NP个模型中适配度最优的一个,判断其是否满足全局最优,若是则结束;若不是,则算法进行循环的迭代演化。
[0081] 步骤三:演化算法进行循环迭代,在训练集上对自适应滤波模型训练,以找到系统最优的结构和参数。
[0082] 参阅图3,本发明所用的算法是一种基于自适应多精英引导的复合差分进化算法(AMECODEs),该算法引入了多重精英引导突变和转移机制,以平衡收敛和多样性。结果表明,与单纯的精英突变相比,它在防止早期收敛和停滞方面更为有效。
[0083] AMECODEs与传统的差分进化算法相比有两个改进。第一个改进是多精英引导突变,使用精英(优秀的个体)信息的突变策略在探索与开发之间取得平衡。在AMECODEs算法中,种群的每一个个体都受到两位精英的指导,这可以减少发生被错误引导的可能性,并有效地使个体朝着更大的前景发展。每一位精英都是由一代试验矢量策略创建,并有不同的选择方法和参数。第二个改进是引入了转移机制(SM)。在SM中,如果种群不能收敛到一个小的区域,即当收敛结果始终较差时,一些没有希望的个体将被转移到一个有希望的区域,即更新进行转移,以促进收敛。如果种群集中在一个很小的区域,即收敛结果长时间陷入局部最优时,一些没有希望的个体将无条件地转移到随机位置,以增强种群的多样性。
[0084] AMECODEs的流程图如图3所示,算法步骤如下:
[0085] 第一步,随机生成NP个个体,每个个体(θ)是一个命令序列,又被称为目标向量XGi。每个命令序列可以指导生成一个完整的结构和参数随机的自适应滤波模型,即产生初始种群P0。
[0086] 第二步,计算目标向量的适配度:
[0087] 计算初始种群P0所有个体的适配度,选出NP个个体中适配度最小的个体,判断其适配度是否为0,即目标向量是否为全局最优。若是则输出最佳个体,结束计算;否则,执行下一步。
[0088] 第三步,进行变异操作,两个试验向量 和 分别由DE/current-to-nbest/1/bin(M1)和DE/DE/current-to-pbest/1/bin(M2)两个突变算子产生,突变算子M1从逻辑局部最优解中学习,突变算子M2从随机选择的较优解中学习。 和 经过二项式交叉后,生成新的试验向量 和
[0089] 第四步,进行选择,试验向量 和 中最好的一个被作为目标向量 的最终试验向量 并将存活且进入下一代。这样可以降低误导的概率,从而使种群更有效地到达有希望的搜索区域。在算法中,选择过程中的丢弃的目标向量被放入一个外部库A中,M1和M2使用相同的外部库A,如果外部库A的大小超过NP,则会随机删除外部库中多余的个体。
[0090] 第五步,查看种群中NP个目标向量 各自参数取值是否在合理的范围内,若不在则用随机函数在约束范围内更新目标向量 的参数。
[0091] 第六步,每一代结束时,启动转移机制,按照以下两种策略进行转移。
[0092] 多样化策略:
[0093]
[0094] 收敛策略:
[0095]
[0096] 其中,jset是被随机选择的移位变量的集合,j是{1,2,…,30}中的一个随机数;是更新后的向量 的第j个变量,而 和 分别是 的第j个变量的上界和下
界; 是向量 的第j个变量; 是突变算子M2选择出的最优的向量, 是 的
第j个变量。 和 是种群中随机选择出的两个向量,而 和 分别为 和 的第j
个变量。
[0097] 第七步,返回步骤二进行比较。
[0098] 自适应滤波模型在AMECODEs算法作用下进行循环的迭代优化,即通过不断地变异、交叉、选择操作和转移机制来更新种群,并不断进行评价,直至找到全局最优解或者演化至最后一代后,演化过程停止,即找得到最优的系统结构和参数。
[0099] AMECODEs算法选出的全局最优的滤波系统如图11所示,输入端口x(n)分别通过子系统S1、子系统S2、子系统S5、子系统S6、子系统S11、子系统S12和子系统S14与输出端口y(n)相连接,输入端口x(n)与子系统S1之间为节点1,子系统S2和子系统S5之间为节点3,子系统S6和子系统S11之间为节点5,子系统S12和子系统S14之间为节点7,子系统S14的输出端为节点8,输入端口x(n)通过并联连接的子系统S3和子系统S4与子系统S5的输入端相连接,输入端口x(n)通过并联连接的子系统S7、子系统S8、子系统S9、和子系统S10与子系统S11的输入端相连接,输入端口x(n)通过子系统S13与子系统S14的输入端相连接,输入端口x(n)通过子系统S15与子系统S14的输出端相连接,即子系统S14的输出端与子系统S15的输出端经过加法器得到输出端口y(n)的输出信号。其中子系统S2,子系统S3,子系统S4,子系统S5,子系统S6,子系统S10,子系统S11,子系统S13和子系统S15是二阶子系统,而子系统S1,子系统S7,子系统S8,子系统S9,子系统S12,子系统S14和子系统S14是一阶子系统。其在训练集上的输出拟合曲线如图9所示,可以看出所提出的自适应滤波模型有效地学习了液体饱和蒸汽换热器这一典型的非线性基准模型。
[0100] 步骤四:利用训练好的结构和参数最优的自适应滤波模型在测试集上进行测试,得到辨识对象的实际输出。
[0101] 通过测试集输出拟合曲线可以看出本发明可以有效地对液体饱和蒸汽换热器这一典型的非线性系统进行预测。本发明还可以应用于其他非线性基准函数以及非线性系统的辨识,具有很好的实际应用价值。
[0102] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈