使用Python从变量和函数值数组中查找全局最大值

使用Python从变量和函数值数组中查找全局最大值,python,function,scipy,mathematical-optimization,maximize,Python,Function,Scipy,Mathematical Optimization,Maximize,在我的问题中,我有一个数据集,它的函数依赖于4个变量。数据集采用数组的形式,其行有5列,其中第0、1、2、3列为输入值,第4列包含输出。我想找到由输入值定义的流形的全局最大值的位置和值。特别是,这个数据集有几个不感兴趣的局部极大值 我不熟悉使用python,这使事情变得有点困难,特别是当使用像scipy这样的库时,有必要在抛出随机值和开始搜索极小值/极大值之前定义函数形式。如果有人对我可以使用的库或特定技术有想法,我将非常感谢您的帮助。考虑到数据集是一个n,4 import numpy as n

在我的问题中,我有一个数据集,它的函数依赖于4个变量。数据集采用数组的形式,其行有5列,其中第0、1、2、3列为输入值,第4列包含输出。我想找到由输入值定义的流形的全局最大值的位置和值。特别是,这个数据集有几个不感兴趣的局部极大值

我不熟悉使用python,这使事情变得有点困难,特别是当使用像scipy这样的库时,有必要在抛出随机值和开始搜索极小值/极大值之前定义函数形式。如果有人对我可以使用的库或特定技术有想法,我将非常感谢您的帮助。

考虑到数据集是一个n,4

import numpy as np
global_maxima = dataset[np.argmax(dataset[:,-1])][:-1]

将为您提供前三列的全局最大值,如果我理解清楚的话,这是您的输入列。如果您想要全局最小值,请将np.argmax替换为np.argmin。

您能向我们展示您迄今为止的尝试吗?它是numpy阵列吗?流形是什么?你只想知道第四列的全局最大值吗?@RodrigoDorantes Gilardi是的,这是一个numpy数组。老实说,这很难开始,因为我不知道函数形式。具体地说,我没有考虑到如何抛出猜测值等问题。因为我不知道其形式,所以通常的最大化技术可以发挥作用。@PaulH我所说的流形是,作为3D示例,给定足够多的x、y和fx、y值,输入变量定义某种平面。这里,我有4个输入变量,它们定义了5D空间中的某种函数,我需要它们的全局最大值和最大值的位置!这将只返回在这些列中看到的坐标的最大值。正如前面的评论中所提到的,我正在寻找的是一个最大化例程,它会吐出4个坐标,对应于函数全局最大值的位置。是的!这很快而且很有意义,因为它输出的值满足我的最大交叉检查。我仍然在想,是否有一些优化技术沿着SGD或类似的思路,可以构造来提取全局最大值的坐标,提供一个多元函数的n维坐标集。还是说这太过分了?我应该重新设计我原来的问题,以使它更清楚吗?