【问题标题】:Frobenius norm minimization using MATLAB and CVX使用 MATLAB 和 CVX 的 Frobenius 范数最小化
【发布时间】:2016-10-14 11:24:25
【问题描述】:

我有以下形式的 SVM 问题:

minimize ||Q||_F subject to l_i (x_i^T Q x_i) >= 1

其中Q 是方阵,x_i 是训练示例,l_i 是训练示例的标签。

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

【问题讨论】:

  • 恐怕这个问题不适合 Stack Overflow。首先,对于周围的大多数程序员来说,这可能还不清楚。然后,它要么太宽泛(如果您希望我们编写代码),要么是库/工具推荐问题(这也是题外话,因为它往往会吸引垃圾邮件和低质量的答案。

标签: matlab optimization matrix libsvm cvx


【解决方案1】:

利用trace算子的属性,我们得到如下

应该很容易翻译成 CVX。对范数进行平方并向量化矩阵,我们得到了一个不等式约束的二次程序。除了使用CVX,还可以使用quadprog


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}$$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    相关资源
    最近更新 更多