r - 在 R 中使用 quadprog 的 SVM
问题描述
这组练习让学生使用 QP 求解器在 R 中求解 SVM。建议的求解器是quadprog
软件包。二次问题如下:
从关于线性SVM的评论来看,$K=XX'$,$K$通常是一个奇异矩阵,最多秩$p$,其中$X$是$n\times p$。但是求解器quadprog
需要一个正定矩阵,而不仅仅是 PSD,来代替 $K$,正如许多地方提到的(并已验证)。导师有什么想法吗?
解决方案
我认为解决方法是在应该是正定的矩阵的对角元素上添加一个小数(例如 1e-7)。我不确定它背后的数学原理,但以下来源以及我的经验表明该解决方案有效。
推荐阅读
- jaeger - 分布式跟踪跨越 Node.js 和 Java 服务时出现 Jaeger 代理错误
- reactjs - ReactJs:我如何渲染二进制(base64)图像格式
- python - 在 Python 代码中使用 Mysql aes_encrypt() 和 aes_decrypt() 函数
- python-3.x - 识别语料库中每个文档唯一的单词的更好方法
- angular - 如何使用 rxjs 运算符获取最近的值
- git - Git 源代码控制安全性如何工作?
- django - 如何将图像(任何文件)从 VueJs 前端传递到 Django Rest Framework API?
- imagemagick - 为什么 Imagemagick 的形态膨胀算法与数学定义不同?
- angular - 如何在 Angular 中实现 CKEditor5 并将图像上传到 ASP.NET Core Web API?
- angular-material - 未设置默认排序角垫表箭头