我想使用 CVXR 来找到向量的最佳值。在目标函数中,我需要以元素方式将矩阵与向量相乘:
b:Nx1 向量 X:Nxp 矩阵 结果:Nxp 矩阵
例子:
# Set the dims
N <- 50
p <- 5
X <- matrix(rnorm(N*p), N, p)
# to find the optimal values using optim() one could simply have a numeric object
# say the optimal values are 0.1, -0.2, 0.3, -0.5, 0.6
b <- c(0.1, -0.2, 0.3, -0.5, 0.6)
# Then we can have the Nxp matrix with the product
# (where column i of X is multiplied by element i of b) is given by
X*b
b 是要优化的系数向量。
使用 CVXR 必须声明
b <- Variable(p)
as 变量对象 with 使用矩阵形式,因此稍后我们不能像前一种情况那样真正乘法。
此外,我们不想创建 b: Nxp 的矩阵,因为我们需要为第 i 列的所有 N 个观测值设置一个最优值(因此 mul_elemwise(X, X*b) 选项不能作为它会为 N 的不同观察提供不同的最佳值 - 如果我没记错的话)。
谢谢,