一种双层优化驱动的动态系统方程发现方法技术方案

技术编号:37359216 阅读:24 留言:0更新日期:2023-04-27 07:08
本发明专利技术公开了一种双层优化驱动的动态系统方程发现方法,重新定义方程发现范式,将方程的形式和系数的优化解耦至两个单独的、相互嵌套的子优化问题,形成一个双层优化框架,再通过强化学习相关方法结合传统最小二乘回归对双层优化框架的原始目标函数直接进行求解,避免抹去小系数项,并使两个优化问题形成交叉验证显著提高面对非完美数据的鲁棒性,降低对超参数的敏感性,提高动态系统方程发现过程的鲁棒性,从而解决各科学、工程领域中的动态系统数学建模问题。统数学建模问题。统数学建模问题。

【技术实现步骤摘要】
一种双层优化驱动的动态系统方程发现方法


[0001]本专利技术涉及机器学习
,更具体的说是涉及一种双层优化驱动的动态系统方程发现方法。

技术介绍

[0002]微分方程(如常微分方程、偏微分方程)是生物学、天体物理学、流体力学、金融学等众多科学领域中对动态系统进行数学建模的核心工具。传统地,微分方程多由科学家根据领域内现有的科学知识和结论手动推导建立。该过程高度依赖于科学家的经验直觉,以及长期的猜想假设与实验验证。甚至,在多种新兴的多学科交叉领域,如计算神经学,很多动态过程对人类科学家来说仍然处于黑箱状态,能够启发方程建立的领域知识甚少。在上述问题的驱动下,计算科学领域诞生了一批动态系统方程发现方法(下简称方程发现方法),即一类从动态系统的时空测量数据中自动地、定量地逆向构建出该系统服从的微分方程的方法。在方程发现领域,一个重要共识和假设是:真实世界方程往往不存在很多项,即方程具有简明性。
[0003]现阶段,方程发现方法主要分为两类,稀疏回归类和遗传算法类。近些年,随着机器学习、深度学习相关理论、工具的广泛应用,一些研究将深度神经网络与稀疏回归或遗传算法进行结合,使用神经网络对动态系统的原始观测数据进行拟合,并利用神经网络的连续可微性直接计算时间导数和库矩阵中的方程项。但是该种方法面临着神经网络的过拟合或者欠拟合问题,需要根据具体问题进行严密地调参,实际应用价值较低。
[0004]同时,稀疏回归和遗传算法都具有的一严重缺陷是该两类方法对于存在较大噪声的观测数据或稀疏的观测数据鲁棒性交叉。对于噪声数据和稀疏数据,建立方程左手项时间导数以及右手侧候选方程项时进行的数值计算时会引入更大的误差,导致出现错误方程过拟合该数据集的可能性显著增加。使用深度神经网络预先拟合数据集的做法能够缓解稀疏数据的挑战,但是仍面临该神经网络的过拟合与欠拟合问题。稀疏回归和遗传算法都具有的另一缺陷是对超参数敏感。稀疏回归的主要超参数是抹去小系数项时的阈值;遗传算法的主要的超参数是适应度函数中零范数稀疏性正则项的权重。上述两种超参数均会严重影响方程发现的结果。
[0005]因此,如何应对方程发现作为逆问题面临的解的不定性问题,缓解动态系统方程发现过程中的过拟合现象,提高动态系统方程发现过程的鲁棒性,从而解决各科学、工程领域中的动态系统数学建模问题是本领域技术人员亟需解决的问题。

技术实现思路

[0006]有鉴于此,本专利技术提供了一种双层优化驱动的动态系统方程发现方法,通过使两个优化问题形成交叉验证显著提高面对非完美数据的鲁棒性,降低对超参数的敏感性,解决对于一组确定的非完美观测数据集和超参数,很可能存在错误的方程能够过拟合该组数据,使该超参数下的目标函数值达到最优的问题,从而显著提高方程发现技术在真实世界
中的应用性,帮助各科学、工程领域技术人员进行数学建模。
[0007]为了实现上述目的,本专利技术采用如下技术方案:
[0008]一种双层优化驱动的动态系统方程发现方法,包括以下步骤:
[0009]步骤1:获取动态系统观测数据样本;
[0010]步骤2:对观测数据样本进行局部多项式拟合,通过数值微分得到偏微分方程,获得动态系统的时间和空间导数;多项式拟合得到多项式函数,对多项式函数再取导数得到时间和空间导数,这个过程称为数值微分;
[0011]步骤3:根据时间和空间导数获得库矩阵,从库矩阵中选取方程项选择矩阵,根据微分方程的一般形式构建待发现方程,待发现方程刻画为方程项选择矩阵和方程项系数向量的线性乘积,优化方程项选择矩阵和方程项系数向量得到双层优化范式;
[0012]步骤4:通过强化学习相关方法结合传统最小二乘回归求解双层优化范式,获得动态系统的方程。
[0013]优选的,待发现方程左手项为观测数据样本的一阶时间导数,右手项为方程项选择矩阵和方程项系数向量的线性乘积;库矩阵包含待发现方程的所有可能方程项,将动态系统的待发现方程的右手项转化为库矩阵中若干方程项的线性组合,表示为方程项选择矩阵和方程项系数向量的线性乘积形式。
[0014]优选的,将所述观测数据样本沿方程项选择矩阵的列方向进行划分,划分为两组没有交集的正交数据集,利用两组正交数据集分别优化方程项选择矩阵和方程项系数向量,构建出双层优化范式。
[0015]优选的,求解双层优化范式包括内层优化和外层优化;内层优化目标函数为最小二乘回归模型,用于回归出动态系统的形式确定系数未知方程对应的系数;外层优化目标函数为添加稀疏性正则项的回归方程,用于优化方程形式,并将方程项选择矩阵作为循环神经网络的动作输出,将外层优化目标函数值作为循环神经网络的奖励值,使用策略梯度算法更新循环神经网络参数,鼓励智能体挑选目标函数值低的方程项,通过强化学习实现对方程项选择向量的优化。
[0016]优选的,所述步骤4的具体过程为:
[0017]步骤41:构建循环神经网络,并利用循环神经网络获得动态系统每个时刻输出概率分布,并通过采样选取方程项,获得形式确定系数未知方程;
[0018]步骤42:通过双层优化范式的内层优化求解方程系数,结合形式确定系数未知方程,获得发现方程;
[0019]步骤43:通过双层优化范式的外层优化,利用强化学习方法更新循环神经网络参数,并返回步骤41,直至循环神经网络参数收敛,对步骤42获得的所有发现方程进行排序,选取最优发现方程为动态系统的方程。
[0020]优选的,对一组正交数据集上的内层优化进行求解,根据形式确定系数未知方程中确定的方程项选择矩阵下,采用标准最小二乘回归优化方程系数,获得确定形式确定系数的发现方程。
[0021]优选的,步骤43中通过对另一组正交数据集上的外层优化进行求解,利用强化学习方法对循环神经网络参数进行更新,优化发现方程中确定的方程项选择矩阵的概率分布,令外层优化目标函数极小化;利用强化学习方法更新循环神经网络参数具体过程为:
[0022]步骤431:计算外层优化目标函数关于循环神经网络参数的梯度,并将外层优化目标函数的相反数作为奖励函数;
[0023]步骤432:根据步骤41中采样选取方程项获得多个方程项选择矩阵,结合奖励函数,采用蒙特卡洛方法计算梯度的蒙特卡洛无偏估计;
[0024]步骤433:根据蒙特卡洛无偏估计优化外层优化目标函数获得优化式;
[0025]步骤443:采用随机梯度下降算法更新优化式,从而更新循环神经网络参数。
[0026]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种双层优化驱动的动态系统方程发现方法,是一种用于从动态系统的观测数据中逆向提取该系统服从的微分方程的方法。本专利技术联系方程发现作为逆问题的本质以及现有方程发现方法中存在的问题,重新定义方程发现范式,将方程的形式和系数解耦至两个单独的、相互嵌套的子优化问题,形成一个双层优化框架。该框架的外层优化负责优化方程的形式(即包含哪些方程项),内层优化负责优化确定形式下方程的系数,通过双层优化框架将发现方程的选项本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双层优化驱动的动态系统方程发现方法,其特征在于,包括以下步骤:步骤1:获取动态系统观测数据样本;步骤2:对观测数据样本进行局部多项式拟合,通过数值微分得到动态系统的时间和空间导数;步骤3:根据时间和空间导数获得库矩阵,从库矩阵中选取方程项选择矩阵,根据微分方程形式构建待发现方程,将待发现方程刻画为方程项选择矩阵和方程项系数向量的线性乘积,优化方程项选择矩阵和方程项系数向量得到双层优化范式;步骤4:通过强化学习方法结合最小二乘回归方法求解双层优化范式,获得动态系统的方程。2.根据权利要求1所述的一种双层优化驱动的动态系统方程发现方法,其特征在于,待发现方程的左手项为观测数据样本的一阶时间导数,右手项为方程项选择矩阵和方程项系数向量的线性乘积;库矩阵包含待发现方程的所有可能方程项,将动态系统的待发现方程的右手项转化为库矩阵中若干方程项的线性组合,表示为方程项选择矩阵和方程项系数向量的线性乘积。3.根据权利要求1所述的一种双层优化驱动的动态系统方程发现方法,其特征在于,将所述观测数据样本沿方程项选择矩阵的列方向进行划分,划分为两组没有交集的正交数据集,利用两组正交数据集分别优化方程项选择矩阵和方程项系数向量,构建出双层优化范式。4.根据权利要求3所述的一种双层优化驱动的动态系统方程发现方法,其特征在于,求解双层优化范式包括内层优化和外层优化;内层优化目标函数为最小二乘回归模型,用于回归出动态系统方程的系数;外层优化目标函数为添加稀疏性正则项的回归方程,用于优化方程形式,并将方程项选择矩阵作为循环神经网络的动作输出,将外层优化目标函数值作为循环神经网络的奖励值,使用策略梯度算法更新循环神经网络参...

【专利技术属性】
技术研发人员:邓岳苑会宁李泽宇
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1