我有以下形式的 SVM 问题:
minimize ||Q||_F subject to l_i (x_i^T Q x_i) >= 1
其中Q
是方阵,x_i
是训练样例, 是训练样例l_i
的标签。
有没有办法使用现有的 MATLAB 优化工具使用内置优化例程或 CVX、libsvm 或其他优化包来解决这个问题?
我有以下形式的 SVM 问题:
minimize ||Q||_F subject to l_i (x_i^T Q x_i) >= 1
其中Q
是方阵,x_i
是训练样例, 是训练样例l_i
的标签。
有没有办法使用现有的 MATLAB 优化工具使用内置优化例程或 CVX、libsvm 或其他优化包来解决这个问题?
利用跟踪算子的性质,我们得到以下
这应该很容易翻译成 CVX。对范数进行平方并向量化矩阵,我们得到了一个不等式约束的二次程序。除了使用 CVX,还可以使用quadprog。
乳胶代码:
$$\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}$$