给定带有shape = (t,m,n)
的数据,我需要找到一个(n,)
形状的向量变量,它使数据和向量的凸函数最小化。我已经使用cvxopt(和cvxpy)来使用2D输入执行凸优化,但是它们似乎不支持3D数组。有没有一种方法来实现这个凸优化使用这些或其他类似的软件包?你知道吗
给定具有形状(t,m,n)
和(t,m)
的数据和具有形状(n,)
的var,下面是我需要最小化的函数类型的简化:
import numpy as np
obj_func(var,data1,data2):
#data1.shape = (t,m,n)
#data2.shape = (t,m)
#var.shape = (n,)
score = np.sum(data1*var,axis=2) #dot product along axis 2
time_series = np.sum(score*data2,axis=1) #weighted sum along axis 1
return np.sum(time_series)-np.sum(time_series**2) #some function
这似乎应该是一个简单的凸优化,但不幸的是,cvxopt/cvxpy中的N维数组不支持这些函数。有没有办法实现这一点?你知道吗
我想如果你只是把
data1
暂时改成2d,你会没事的输出:
相关问题 更多 >
编程相关推荐