【发布时间】:2021-09-26 22:59:48
【问题描述】:
我想定义一个函数如下:
def f(x,m):
return np.exp(((x[i]-m).T)@((x[i]-m))
输入是已知数据集数组x,例如
x = np.array([[1,2],[3,4]])
还有一个未知的二维向量m。
目前我无法正确定义此函数,因为我收到错误:
NameError: name 'm' is not defined
事实上,我不知道定义 m 的正确方法是什么。应该是这样的
m = []
也许?我知道与 mathematica 不同,我需要告诉 Python 一些关于 m 但我不清楚是什么。
最重要的是,我有兴趣将x 的所有分量相加并最小化f(x,m) 的对数以找到f(x,m) 最小的m 的值。
【问题讨论】:
-
函数
f中的i是什么? -
所以数据集是一个numpy数组
x。然后i是行的索引。比如x[0]对应x的第一行,即x[0]=[1,2] -
对不起,我不够清楚。你想最小化单行的
f,i是常数,还是所有行的总和? -
我确实希望最终将总和最小化。但这是问题的第二部分(如何在函数中实现数据集)。第一部分是如何在不确定的
m上获得一个我可以最小化的函数(不管x是单个二维向量还是二维向量列表)。
标签: arrays numpy optimization scipy