使用MATLAB和CVX进行Frobenius范数最小化

时间:2016-06-13 22:11:39

标签: matlab optimization matrix libsvm cvx

我遇到以下形式的SVM问题:

extractTime

其中minimize ||Q||_F subject to l_i (x_i^T Q x_i) >= 1 是方阵,Q是训练样例,x_i是训练样例的标签。

有没有办法使用内置的优化例程或CVX,libsvm或其他优化包使用现有的MATLAB优化工具来解决这个问题?

1 个答案:

答案 0 :(得分:0)

利用trace运算符的属性,我们获得以下

enter image description here

应该很容易翻译成CVX。通过平方范式和矢量化矩阵,我们得到了一个不等式约束的二次规划。也可以使用quadprog

,而不是使用CVX

LaTeX代码:

$$\begin{array}{ll} \text{minimize} & \| \mathrm Q \|_F\\ \text{subject to} & \mbox{tr} (l_1  \mathrm x_1  \mathrm x_1^T  \mathrm Q) \geq 1\\ &\qquad\vdots\\ & \mbox{tr} (l_m  \mathrm x_m  \mathrm x_m^T  \mathrm Q) \geq 1\end{array}$$