本申请涉及一种非线性模型的参数确定方法和装置,属于计算机技术领域。
背景技术:
粒子群优化算法(particleswarmoptimization,pso)是一种基于种群的随机优化技术,由eberhart和kennedy于1995年提出。粒子群优化算法可以应用于对非线性迟滞模型的模型参数进行估计。
现有的粒子群优化算法对所有的粒子进行统一优化,但是,在优化过程中可能导致一部分粒子向最优位置优化,而另一部分粒子向远离最优位置的方向优化,这就会降低参数优化速度、降低参数优化精度。
技术实现要素:
本申请提供了一种非线性模型的参数确定方法和装置,可以解决现有的粒子群优化算法确定模型参数的速度和精度较低的问题。本申请提供如下技术方案:
第一方面,提供了一种非线性模型的参数确定方法,所述非线性模型包括至少两个模型参数,所述方法包括:
将所述至少两个模型参数划分为至少两个参数种群;
在每次参数迭代过程中,基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到所述非线性模型的模型参数。
可选地,所述基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,包括:
获取所述目标参数种群中每个粒子的历史最优位置和所述目标参数种群的历史全局最优位置;
获取所述目标参数种群的上次迭代速度和上次迭代位置;
基于所述上次迭代速度、所述历史最优位置与所述上次迭代位置之差、历史全局最优位置与上次迭代位置之差,确定本次迭代速度;
基于所述本次迭代速度和所述上次迭代位置之和确定本次迭代位置;
使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化。
可选地,所述使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化,包括:
在上次迭代结束后,使用所述本次迭代速度和所述本次迭代位置执行下述步骤,直至迭代次数达到最大迭代次数或者参数误差在预设范围内时停止:
确定所述目标参数种群中每个粒子的适应度;
对于每个粒子,在所述粒子的适应度小于所述历史最优位置的适应度时,使用所述粒子替换所述历史最优位置;在所述粒子的适应度小于所述历史全局最优位置的适应度时,使用所述粒子替换所述历史全局最优位置。
可选地,在基于所述上次迭代速度确定所述本次迭代速度时,所述上次迭代速度的权重随上次迭代时各个粒子的适应度和历史权重值确定。
可选地,所述本次迭代速度
其中,ω为上次迭代速度的权重,
第二方面,提供了一种非线性模型的参数确定装置,所述非线性模型包括至少两个模型参数,所述装置包括:
种群划分模块,用于将所述至少两个模型参数划分为至少两个参数种群;
参数优化模块,用于在每次参数迭代过程中,基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到所述非线性模型的模型参数。
可选地,所述参数优化模块,用于:
获取所述目标参数种群中每个粒子的历史最优位置和所述目标参数种群的历史全局最优位置;
获取所述目标参数种群的上次迭代速度和上次迭代位置;
基于所述上次迭代速度、所述历史最优位置与所述上次迭代位置之差、历史全局最优位置与上次迭代位置之差,确定本次迭代速度;
基于所述本次迭代速度和所述上次迭代位置之和确定本次迭代位置;
使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化。
可选地,所述参数优化模块,用于:
在上次迭代结束后,使用所述本次迭代速度和所述本次迭代位置执行下述步骤,直至迭代次数达到最大迭代次数或者参数误差在预设范围内时停止:
确定所述目标参数种群中每个粒子的适应度;
对于每个粒子,在所述粒子的适应度小于所述历史最优位置的适应度时,使用所述粒子替换所述历史最优位置;在所述粒子的适应度小于所述历史全局最优位置的适应度时,使用所述粒子替换所述历史全局最优位置。
可选地,在基于所述上次迭代速度确定所述本次迭代速度时,所述上次迭代速度的权重随上次迭代时各个粒子的适应度和历史权重值确定。
可选地,所述本次迭代速度
其中,ω为上次迭代速度的权重,
本申请的有益效果在于:通过将非线性模型的至少两个模型参数划分为至少两个参数种群;在每次参数迭代过程中,基于粒子群优化算法对至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到非线性模型的参数;可以解决现有的粒子群优化算法确定模型参数的速度和精度较低的问题;由于将参数划分为多个参数种群,分别对每个种群进行参数优化,这样可以尽量避免一次迭代中几个参数向最优值靠近,几个参数远离最优值的情况,可以提高模型参数的优化速度和精度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的非线性模型的参数确定方法的流程图;
图2是本申请一个实施例提供的现有的粒子群优化算法和本申请提供的粒子群优化算法随迭代次数叠加适应度的变化曲线示意图;
图3是本申请一个实施例提供的非线性模型的参数确定装置的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
可选地,本申请以各个实施例的执行主体为电子设备为例进行说明,该电子设备包括但不限于:计算机、手机、平板电脑或者服务器等,本实施例不对电子设备的类型作限定。
图1是本申请一个实施例提供的非线性模型的参数确定方法的流程图。该方法至少包括以下几个步骤:
步骤101,将至少两个模型参数划分为至少两个参数种群。
非线性模型包括至少两个模型参数。
可选地,至少两个参数种群中的粒子数量相同或不同。其中,粒子即代表一个模型参数。
步骤102,在每次参数迭代过程中,基于粒子群优化算法对至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到非线性模型的模型参数。
可选地,基于粒子群优化算法对至少两个中的一个目标参数种群进行参数优化,包括:获取目标参数种群中每个粒子的历史最优位置和目标参数种群的历史全局最优位置;获取目标参数种群的上次迭代速度和上次迭代位置;基于上次迭代速度、历史最优位置与上次迭代位置之差、历史全局最优位置与上次迭代位置之差,确定本次迭代速度;基于本次迭代速度和上次迭代位置之和确定本次迭代位置;使用本次迭代速度和本次迭代位置,基于粒子群优化算法对目标参数种群进行参数优化。
其中,使用本次迭代速度和本次迭代位置,基于粒子群优化算法对目标参数种群进行参数优化,包括:在上次迭代结束后,使用本次迭代速度和本次迭代位置执行下述步骤,直至迭代次数达到最大迭代次数或者参数误差在预设范围内时停止:确定目标参数种群中每个粒子的适应度;对于每个粒子,在粒子的适应度小于历史最优位置的适应度时,使用粒子替换历史最优位置;在粒子的适应度小于历史全局最优位置的适应度时,使用粒子替换历史全局最优位置。
其中,在基于上次迭代速度确定本次迭代速度时,上次迭代速度的权重随上次迭代时各个粒子的适应度和历史权重值确定。
粒子的适应度通过该粒子的误差表示,该误差可以通过均方差计算得到。
可选地,本次迭代速度
其中,ω为上次迭代速度的权重,
以非线性模型的模型参数的数量为9个为例,下面对本申请提供的非线性模型的参数确定方法进行举例说明,该方法包括以下几个步骤:
步骤1,将9个模型参数的划分为3个参数种群,每个参数种群包括3个粒子;
步骤2,在每个种群的3维搜索空间中(每个粒子对应一个搜索空间),使用随机的位置和速度初始化3个参数种群。
步骤3,将各个参数种群中的粒子按顺序构建为9维向量,即非线性模型的一组潜在参数解(参数种群1优化后的解,参数种群2优化后的解和参数种群3优化后的解中相同编号的粒子按顺序组合)。
步骤4,评估组合成的9维向量(潜在解)的适应度(每个组合成的向量是一组潜在最优参数,算误差)。
步骤5,每个潜在解的适应度被视为3个子粒子群中具有相同序号的粒子的适应度;
步骤6,对于每个粒子群,如果一个粒子的适应度小于
步骤7,对于每个群,根据粒子群优化算法迭代公式和惯性权重取值公式更新每个粒子的速度和位置。
步骤8,重复步骤3-7,直到达到最大迭代次数或允许误差为止。
参考图2所示的现有的粒子群优化算法21和本申请提供的粒子群优化算法21随迭代次数叠加适应度的变化曲线,如图2可知,本申请提供的粒子群优化算法22中,适应度下降得更快且值更小,即误差下降得更快且更小。
综上所述,本实施例提供的非线性模型的参数确定方法,通过将非线性模型的至少两个模型参数划分为至少两个参数种群;在每次参数迭代过程中,基于粒子群优化算法对至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到非线性模型的模型参数;可以解决现有的粒子群优化算法确定模型参数的速度和精度较低的问题;由于将参数划分为多个参数种群,分别对每个种群进行参数优化,这样可以尽量避免一次迭代中几个参数向最优值靠近,几个参数远离最优值的情况,可以提高模型参数的优化速度和精度。
另外,通过在基于上次迭代速度确定本次迭代速度时,结合上次迭代时各个粒子的适应度和历史权重值确定上次迭代速度的权重,可以使得不太好的粒子(适应度大于平均值)拥有较大惯性权重(每一步跑得远)去探索新空间,避免陷入局部最优值,提高参数优化精度。
图3是本申请一个实施例提供的非线性模型的参数确定装置的框图。所述非线性模型包括至少两个模型参数,该装置至少包括以下几个模块:种群划分模块310和参数优化模块320。
种群划分模块310,用于将所述至少两个模型参数划分为至少两个参数种群;
参数优化模块320,用于在每次参数迭代过程中,基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到所述非线性模型的模型参数。
可选地,所述参数优化模块320,用于:
获取所述目标参数种群中每个粒子的历史最优位置和所述目标参数种群的历史全局最优位置;
获取所述目标参数种群的上次迭代速度和上次迭代位置;
基于所述上次迭代速度、所述历史最优位置与所述上次迭代位置之差、历史全局最优位置与上次迭代位置之差,确定本次迭代速度;
基于所述本次迭代速度和所述上次迭代位置之和确定本次迭代位置;
使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化。
可选地,所述参数优化模块320,用于:
在上次迭代结束后,使用所述本次迭代速度和所述本次迭代位置执行下述步骤,直至迭代次数达到最大迭代次数或者参数误差在预设范围内时停止:
确定所述目标参数种群中每个粒子的适应度;
对于每个粒子,在所述粒子的适应度小于所述历史最优位置的适应度时,使用所述粒子替换所述历史最优位置;在所述粒子的适应度小于所述历史全局最优位置的适应度时,使用所述粒子替换所述历史全局最优位置。
可选地,在基于所述上次迭代速度确定所述本次迭代速度时,所述上次迭代速度的权重随上次迭代时各个粒子的适应度和历史权重值确定。
可选地,所述本次迭代速度
其中,ω为上次迭代速度的权重,
相关细节参考上述装置实施例。
需要说明的是:上述实施例中提供的非线性模型的参数确定装置在进行压电陶瓷致动器的迟滞现象时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将非线性模型的参数确定装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的非线性模型的参数确定装置与非线性模型的参数确定方法实施例属于同一构思,其具体实现过程详见装置实施例,这里不再赘述。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述装置实施例的非线性模型的参数确定装置。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述装置实施例的非线性模型的参数确定装置。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种非线性模型的参数确定方法,其特征在于,所述非线性模型包括至少两个模型参数,所述方法包括:
将所述至少两个模型参数划分为至少两个参数种群;
在每次参数迭代过程中,基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到所述非线性模型的模型参数。
2.根据权利要求1所述的方法,其特征在于,所述基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,包括:
获取所述目标参数种群中每个粒子的历史最优位置和所述目标参数种群的历史全局最优位置;
获取所述目标参数种群的上次迭代速度和上次迭代位置;
基于所述上次迭代速度、所述历史最优位置与所述上次迭代位置之差、历史全局最优位置与上次迭代位置之差,确定本次迭代速度;
基于所述本次迭代速度和所述上次迭代位置之和确定本次迭代位置;
使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化。
3.根据权利要求2所述的方法,其特征在于,所述使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化,包括:
在上次迭代结束后,使用所述本次迭代速度和所述本次迭代位置执行下述步骤,直至迭代次数达到最大迭代次数或者参数误差在预设范围内时停止:
确定所述目标参数种群中每个粒子的适应度;
对于每个粒子,在所述粒子的适应度小于所述历史最优位置的适应度时,使用所述粒子替换所述历史最优位置;在所述粒子的适应度小于所述历史全局最优位置的适应度时,使用所述粒子替换所述历史全局最优位置。
4.根据权利要求2所述的方法,其特征在于,在基于所述上次迭代速度确定所述本次迭代速度时,所述上次迭代速度的权重随上次迭代时各个粒子的适应度和历史权重值确定。
5.根据权利要求2所述的方法,其特征在于,所述本次迭代速度
vit 1=ωvit c1×r1×(pbesti-pit) c2×r2×(gbest-pit)
pit 1=pit vit 1
其中,ω为上次迭代速度的权重,
6.一种非线性模型的参数确定装置,其特征在于,所述非线性模型包括至少两个模型参数,所述装置包括:
种群划分模块,用于将所述至少两个模型参数划分为至少两个参数种群;
参数优化模块,用于在每次参数迭代过程中,基于粒子群优化算法对所述至少两个中的一个目标参数种群进行参数优化,其它参数种群的参数保持不变,直至所有参数种群确定完成时参数迭代过程停止,得到所述非线性模型的模型参数。
7.根据权利要求6所述的装置,其特征在于,所述参数优化模块,用于:
获取所述目标参数种群中每个粒子的历史最优位置和所述目标参数种群的历史全局最优位置;
获取所述目标参数种群的上次迭代速度和上次迭代位置;
基于所述上次迭代速度、所述历史最优位置与所述上次迭代位置之差、历史全局最优位置与上次迭代位置之差,确定本次迭代速度;
基于所述本次迭代速度和所述上次迭代位置之和确定本次迭代位置;
使用所述本次迭代速度和所述本次迭代位置,基于所述粒子群优化算法对所述目标参数种群进行参数优化。
8.根据权利要求7所述的装置,其特征在于,所述参数优化模块,用于:
在上次迭代结束后,使用所述本次迭代速度和所述本次迭代位置执行下述步骤,直至迭代次数达到最大迭代次数或者参数误差在预设范围内时停止:
确定所述目标参数种群中每个粒子的适应度;
对于每个粒子,在所述粒子的适应度小于所述历史最优位置的适应度时,使用所述粒子替换所述历史最优位置;在所述粒子的适应度小于所述历史全局最优位置的适应度时,使用所述粒子替换所述历史全局最优位置。
9.根据权利要求7所述的装置,其特征在于,在基于所述上次迭代速度确定所述本次迭代速度时,所述上次迭代速度的权重随上次迭代时各个粒子的适应度和历史权重值确定。
10.根据权利要求7所述的装置,其特征在于,所述本次迭代速度
vit 1=ωvit c1×r1×(pbesti-pit) c2×r2×(gbest-pit)
pit 1=pit vit 1
其中,ω为上次迭代速度的权重,
