2024-09-28 03:15:18 发布
网友
我有一个函数,它接受4个一维数组作为输入,并返回一个一维数组作为输出。在
def func(arr1,arr2,arr3,arr4): #function guts return answer
我试图让这个函数的输出数组与已知的正确数组答案相匹配。我做了一个成本函数,可以将函数输出与实际答案进行比较,并给我一个值来表示它有多接近(数值越小越好)
我想找到一种方法来找到最适合原始输入数组的值,以接近真正的答案。大概这将使用SciPy优化包,但我不确定从哪里开始。在
如果您的函数输出在所有参数中变化平稳(输入的小变化产生输出的小变化),您可以考虑一种梯度下降的方法。在
但是,正如您看到的here (scipy.optimize docs),您还可以选择一些不需要先验知识的优化方法,例如powell。你总是需要一组起始值和你的函数。在
powell
但是请考虑:如果您对#function guts了解不多,并且有很多参数(您的arr1-4具有高维性),那么这将需要一段时间。。。在
#function guts
arr1-4
希望这有帮助
如果您的函数输出在所有参数中变化平稳(输入的小变化产生输出的小变化),您可以考虑一种梯度下降的方法。在
但是,正如您看到的here (scipy.optimize docs),您还可以选择一些不需要先验知识的优化方法,例如
powell
。你总是需要一组起始值和你的函数。在但是请考虑:如果您对
#function guts
了解不多,并且有很多参数(您的arr1-4
具有高维性),那么这将需要一段时间。。。在希望这有帮助
相关问题 更多 >
编程相关推荐