首页 > 解决方案 > 在 R 中使用 quadprog 的 SVM

问题描述

组练习让学生使用 QP 求解器在 R 中求解 SVM。建议的求解器是quadprog软件包。二次问题如下:

在此处输入图像描述

从关于线性SVM的评论来看,$K=XX'$,$K$通常是一个奇异矩阵,最多秩$p$,其中$X$是$n\times p$。但是求解器quadprog需要一个正定矩阵,而不仅仅是 PSD,来代替 $K$,正如许多地方提到的(并已验证)。导师有什么想法吗?

标签: roptimizationsvmquadratic-programming

解决方案


我认为解决方法是在应该是正定的矩阵的对角元素上添加一个小数(例如 1e-7)。我不确定它背后的数学原理,但以下来源以及我的经验表明该解决方案有效。

来源:https ://stats.stackexchange.com/questions/179900/optimizing-a-support-vector-machine-with-quadratic-programming

来源:https ://teazrq.github.io/stat542/hw/HW6.pdf


推荐阅读