Python中是否存在可以找到满足某些条件(由函数指定)的最佳值的内置函数?例如一些东西,而不是这个代码:
def argmin(seq, fn):
best = seq[0]; best_score = fn(best)
for x in seq:
x_score = fn(x)
if x_score < best_score:
best, best_score = x, x_score
return best
Python中是否存在可以找到满足某些条件(由函数指定)的最佳值的内置函数?例如一些东西,而不是这个代码:
def argmin(seq, fn):
best = seq[0]; best_score = fn(best)
for x in seq:
x_score = fn(x)
if x_score < best_score:
best, best_score = x, x_score
return best
通常,您需要reduce功能,但就像@Lattyware 之前所说的那样,您的具体示例max
就足够了。
如果您想要的只是对一个参数进行严格优化,那么 max 和 min 可以正常工作。也就是说,最有趣的问题(在我看来)依赖于根据某个成本参数一次优化至少两个参数。对于任何类型的非线性优化,我强烈推荐 scipy 的优化模块。可以在此处找到相关文档。
SLSQP 是最灵活的优化算法,因此可能对您有所帮助。