我一直在为Matlab中的quadprog函数的参数化而苦苦挣扎,因为这样的问题:



其中x是x 0 w 0 + x 1 w 1 + x 2 2 w 2的矩阵,并且y是包含x每一行的值的目标矢量,w是权重矢量,lambda是标量值。

我已经尝试过了,但是我确定这是不正确的:

N = size(x, 2);
Sigma = cov(x);
H = 2.0*Sigma;
c = zeros(N,1);
quadprog(H, c)


有人可以指导我有关quadprog函数的参数是什么吗?

最佳答案

这个优化问题被称为Lasso,正如您所写,它不是形式上的二次程序。您可以将其转换为二次程序,请参见this link,也可以使用Matlab的内置lasso(“统计”工具箱的一部分)

10-04 22:23