【发布时间】:2021-10-25 00:07:33
【问题描述】:
我想最小化以下成本函数
其中 h_u 和 h_v 是实数向量。
我在 Python 中执行此操作,但我不确定 scipy.optimize 包中的函数 minimize 是否是我需要的。
我的方法如下:
给定h_u 和h_v 作为两个具有维度的矩阵
print(h_u.shape, h_v.shape)
>>>(12458, 7) (12458, 7)
我定义目标函数
fun = lambda h: (h[0]*h[1]).mean()
然后我堆叠向量
h_in = np.stack((h_u, h_v), axis = 0)
并尽量减少
minimized = minimize(fun, x0 = h_in)
我不确定提供h_in 作为初始猜测x0 是否正确,因为它会产生错误
MemoryError: Unable to allocate 227. GiB for an array with shape (174412, 174412) and data type float64
有人能告诉我我是否正确执行了操作,我该如何规避错误? 谢谢!
【问题讨论】:
标签: python optimization minimization