Python中以多个数组作为输入的函数的代价函数最小化

2024-09-28 03:15:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数,它接受4个一维数组作为输入,并返回一个一维数组作为输出。在

def func(arr1,arr2,arr3,arr4):
    #function guts
    return answer

我试图让这个函数的输出数组与已知的正确数组答案相匹配。我做了一个成本函数,可以将函数输出与实际答案进行比较,并给我一个值来表示它有多接近(数值越小越好)

^{pr2}$

我想找到一种方法来找到最适合原始输入数组的值,以接近真正的答案。大概这将使用SciPy优化包,但我不确定从哪里开始。在


Tags: 函数答案answerreturndeffunction数组数值
1条回答
网友
1楼 · 发布于 2024-09-28 03:15:18

如果您的函数输出在所有参数中变化平稳(输入的小变化产生输出的小变化),您可以考虑一种梯度下降的方法。在

但是,正如您看到的here (scipy.optimize docs),您还可以选择一些不需要先验知识的优化方法,例如powell。你总是需要一组起始值和你的函数。在

但是请考虑:如果您对#function guts了解不多,并且有很多参数(您的arr1-4具有高维性),那么这将需要一段时间。。。在

希望这有帮助

相关问题 更多 >

    热门问题