我遇到以下形式的SVM问题:
extractTime
其中minimize ||Q||_F subject to l_i (x_i^T Q x_i) >= 1
是方阵,Q
是训练样例,x_i
是训练样例的标签。
有没有办法使用内置的优化例程或CVX,libsvm或其他优化包使用现有的MATLAB优化工具来解决这个问题?
答案 0 :(得分:0)
利用trace运算符的属性,我们获得以下
应该很容易翻译成CVX。通过平方范式和矢量化矩阵,我们得到了一个不等式约束的二次规划。也可以使用quadprog。
,而不是使用CVXLaTeX代码:
$$\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}$$