在没有信息的情况下定义非线性拟合的初始参数

时间:2018-04-27 08:46:10

标签: matlab numerical-methods least-squares

我想知道是否存在为这类问题选择初始参数的技术方法(因为它们几乎可以采用任何形式)。我的问题来自于我的解决方案稍微依赖于初始参数(像往常一样)。我的拟合由10个参数和大约5120个数据点(x,y,z)组成,并且具有非线性约束。我一直在用蛮力做这件事,就是随机尝试参数并试图观察一个模式,但它让我无处可去。

我也尝试过使用MATLAB的遗传算法(找到一个全局最优)但没有成功,因为我的函数似乎有很多局部最小值。

出于我的问题的目的,我在某种程度上需要选择初始参数的原因。

2 个答案:

答案 0 :(得分:1)

如果没有对模型和参数的可能值进行任何了解,搜索空间对于任何可行的事情来说都太大了。认为只为每个参数尝试10个值对应于100亿个组合。 没有神奇的黑盒子。

答案 1 :(得分:0)

您可以尝试使用Bayesian Optimization来查找昂贵的黑匣子功能的全局最佳值。 Matlab将它的实现[bayesopt] [2]描述为

  

使用贝叶斯优化选择最佳机器学习超参数

但您可以使用它来优化任何功能。贝叶斯优化的工作原理是通过观察数据更新函数分布的先验信念。

为了加快优化速度,我建议您通过InitialXInitialObjective输入参数添加现有数据。