简体   繁体   English

机器学习算法预测/查找/收敛以纠正数学模型中的参数

[英]Machine learning algorithm to predict/find/converge to correct parameters in mathematical model

I am currently trying to find a machine learning algorithm that can predict about 5 - 15 parameters used in a mathematical model(MM).我目前正在尝试找到一种机器学习算法,该算法可以预测数学模型(MM)中使用的大约 5 - 15 个参数。 The MM has 4 different ordinary differential equations(ODE) and a few more will be added and thus more parameters will be needed. MM 有 4 个不同的常微分方程 (ODE),并且会添加更多的常微分方程,因此需要更多的参数。 Most of the parameters can be measured, but others need to be guessed.大多数参数可以测量,但其他参数需要猜测。 We know all the 15 parameters, but we want the computer to guess 5 or even 10. To test if parameters are correct, we fill in the parameters in the MM and then calculate the ODEs with a numerical method.我们知道所有的 15 个参数,但我们希望计算机猜测 5 个甚至 10 个。为了测试参数是否正确,我们在 MM 中填写参数,然后用数值方法计算 ODE。 Subsequently we calculate the error between the calculations of the model with the parameters we know(and want to guess) and the calculated values of the MM for which we guessed the parameters.随后,我们使用我们知道(并想猜测)的参数计算模型计算与我们猜测参数的 MM 的计算值之间的误差。 Calculating the values of the models ODEs is done multiple times, the ODEs represent one minute in real time and we calculate for 24 hours, thus 1440 calculations.对模型 ODE 值的计算进行了多次,ODE 实时表示一分钟,我们计算了 24 小时,因此进行了 1440 次计算。

Currently we are using a particle filter to gues the variables, this works okay but we want to see if there are any better methods out there to gues parameters in a model.目前我们正在使用粒子过滤器来猜测变量,这可以正常工作,但我们想看看是否有更好的方法来猜测模型中的参数。 The particle filter takes a random value for a parameter which lies between a range we know about the parameter, eg 0,001 - 0,01.粒子过滤器为一个参数取一个随机值,该值位于我们知道的参数范围之间,例如 0,001 - 0,01。 this is done for each parameter that needs to be guessed.这是为每个需要猜测的参数完成的。

If you can run a lot of full simulations (tens of thousands) you can try black-box optimization.如果您可以运行大量完整的模拟(数万次),您可以尝试黑盒优化。 I'm not sure if black-box is the right approach for you (I'm not familiar with particle filters).我不确定黑盒是否适合您(我不熟悉粒子过滤器)。 But if it is, CMA-ES is a clear match here and easy to try.但如果是这样, CMA-ES在这里是一个明确的匹配项,并且易于尝试。

You have to specify a loss function (eg the total sum of square errors for a whole simulation) and an initial guess (mean and sigma) for your parameters.您必须为您的参数指定一个损失函数(例如整个模拟的总误差平方和)和一个初始猜测(均值和西格玛)。 Among black-box algorithms CMA-ES is a well-established baseline.在黑盒算法中,CMA-ES 是一个完善的基线。 It is hard to beat if you have only few (at most a few hundreds) continuous parameters and no gradient information.如果您只有很少(最多几百个)连续参数且没有梯度信息,则很难被击败。 However anything less black-box-ish that can eg exploit the ODE nature of your problem will do better.然而,任何可以利用问题的 ODE 性质的不那么黑箱的东西都会做得更好。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 机器学习算法预测下一个价值 - Machine learning algorithm to predict next value 如何使用机器学习算法预测容错? - How to predict fault tolerance using Machine Learning Algorithm? 机器人机器学习模型的正确方法 - Correct approach to machine learning model for robotics 机器学习算法来查找相似或匹配的记录? - Machine learning algorithm to find similar or matching records? 如何从机器学习 model 手动预测数据 - How to manually predict data from Machine Learning model 如何部署机器学习模型以使用多个特征数据进行预测 - How to deploy machine learning model to predict with multiple feature data 如何在Android上的Weka中使用机器学习模型来预测新值? - How to use a machine learning model with Weka on Android to predict new values? 如何为我训练有素的机器学习 model 提供输入以预测 output? - How to give input to my trained machine learning model to predict the output? 机器学习model根据列数据预测列名? - Machine learning model to predict column names based on column data? 当机器学习模型标准化时如何预测新值 StandardScaler - how to predict new values when a machine learning model was standardized StandardScaler
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM