我想知道是否存在为这类问题选择初始参数的技术方法(因为它们几乎可以采用任何形式)。我的问题来自于我的解决方案稍微依赖于初始参数(像往常一样)。我的拟合由10个参数和大约5120个数据点(x,y,z)组成,并且具有非线性约束。我一直在用蛮力做这件事,就是随机尝试参数并试图观察一个模式,但它让我无处可去。
我也尝试过使用MATLAB的遗传算法(找到一个全局最优)但没有成功,因为我的函数似乎有很多局部最小值。
出于我的问题的目的,我在某种程度上需要选择初始参数的原因。
答案 0 :(得分:1)
如果没有对模型和参数的可能值进行任何了解,搜索空间对于任何可行的事情来说都太大了。认为只为每个参数尝试10个值对应于100亿个组合。 没有神奇的黑盒子。
答案 1 :(得分:0)
您可以尝试使用Bayesian Optimization来查找昂贵的黑匣子功能的全局最佳值。 Matlab将它的实现[bayesopt] [2]描述为
使用贝叶斯优化选择最佳机器学习超参数
但您可以使用它来优化任何功能。贝叶斯优化的工作原理是通过观察数据更新函数分布的先验信念。
为了加快优化速度,我建议您通过InitialX
和InitialObjective
输入参数添加现有数据。