我有大量的数据点。例如,在下表中,x1、x2、x3是输入。Y是输出。输入可以采用任何分数值。我想估计使Y的值最小化的输入向量。例如,估计Y的最小值为13.9@(x1,x2,x3(=(0.1,0.95,0.2(
如有任何帮助或推动,我们将不胜感激。
x1 x2 x3 y
0 0 0 15
0 0 1 15
0 1 0 14
0 1 1 18
1 0 0 20
1 0 1 19
1 1 0 21
1 1 1 15
如果函数是由特定点定义的,那么您只需选择具有最小值的坐标即可。如果没有对函数的进一步假设,函数就不能取任何更低的值。下方数字示例
import numpy as np
data = """0 0 0 15
0 0 1 15
0 1 0 14
0 1 1 18
1 0 0 20
1 0 1 19
1 1 0 21
1 1 1 15"""
A = np.array([line.split() for line in data.splitlines()]).astype(float)
A[np.argmin(A[:, 3]), :]
将打印array([ 0., 1., 0., 14.])
,这是函数取其最小值的点。