machine-learning - 实现线性二元 SVM(支持向量机)

标签 machine-learning svm

我想在高维二进制数据(文本)的情况下实现一个简单的 SVM 分类器,我认为简单的线性 SVM 是最好的。自己实现它的原因基本上是我想了解它是如何工作的,所以使用库不是我想要的。

问题是大多数教程都会提出一个可以作为“二次问题”来解决的方程,但它们从未展示实际的算法!那么您能否向我指出一个我可以研究的非常简单的实现,或者(更好)向我提供一个一直到实现细节的教程?

非常感谢!

最佳答案

John C. Platt 的论文中可以找到顺序最小优化 (SMO) 方法的一些伪代码: Fast Training of Support Vector Machines using Sequential Minimal Optimization 。还有 SMO 算法的 Java 实现,它是为研究和教育目的而开发的 ( SVM-JAVA )。

解决QP优化问题的其他常用方法包括:

  • 约束共轭梯度
  • 内点法
  • 事件集方法

但请注意,需要一些数学知识才能理解这些东西(拉格朗日乘数、卡鲁什-库恩-塔克条件等)。

关于machine-learning - 实现线性二元 SVM(支持向量机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757224/

相关文章:

scikit-learn - sklearn 中 dual_coef_ 的维度。 SVC

r - 使用多项式内核调整 svm 时出现奇怪的错误消息 : "WARNING: reaching max number of iterations"

machine-learning - 为什么 svm_predict 和 svm_predict_probability 在 java libsvm 中对于异或问题给出不同的结果?

r - 在 R 中使用 SVM 预测时的因子(0)

python - 如何获取Scikit-learn的svm中的训练误差?

python - 如何在 scikit-learn 中对 SVM 应用标准化?

machine-learning - 监督学习

r - 如何更改 R 中的 t-sne 距离?

python - 使用 Keras 的不平衡数据集

r - 对训练数据进行聚类后,如何预测新数据的聚类?