Ph0*_*n1x 0 computer-science classification image-recognition svm
我需要实现SVM数字分类器的概念.它应该是我在画布中写入的分类输入的简单.但我需要从头开始实施.语言并不重要.
任何人都可以一步一步地指导我如何做到这一点.任何材料链接都会有所帮助.但我需要一些与实践相关的东西而不是理论.因为我已经阅读了一些关于它的理论文章.并且有基本的想法它应该如何工作,但仍然有一些麻烦如何将这些想法转换为现实生活中的例子.
非常感谢.
您不会找到编写SVM的分步说明.理解它们背后的理论和数学是很重要的,因为它们在算法中发挥着重要作用,如果没有这种背景,算法很难理解.
最好的起点是John Platt的Sequential Minimal Optimization(SMO)算法.我之前已经实现了这篇论文,但普拉特承担了大量的背景知识.一本很棒的入门书是Lutz Hamel的书" 知识发现与支持向量机".本书激发了所有内容,因此如果您想了解SVM,则无需了解或了解统计和优化理论.
如果你真的只想变得非常简单,那么 从UNT的简化SMO算法开始,让你的脚湿透.这是没有任何优化的SMO算法.
Platt的SMO算法在这一点上不是最先进的,但它是许多当前使用的算法的基础.无论LIBSVM和SVMLight有其源代码可在网上.它们基于SMO概念的两种不同优化.
如果你可以使用更高级别,你可以使用像CVX这样的Convex优化包来实现SVM ,它包含MatLab和其他语言的接口.在这种情况下,您只需在SVM的核心设置优化问题,让解算器为您找到解决方案.从头开始实施QP求解器不是我建议尝试的.
如果你想使用一个现有的库,当你说'从头开始'你指的是处理数据而不是SVM算法本身时,你可以看看现有的实现,如R中可用的实现."R中的支持向量机"探讨了如何做到这一点.哈默尔的书也使用R.
手写数字识别数据集已被用于许多SVM论文中并用于分类器比较.
归档时间: |
|
查看次数: |
2433 次 |
最近记录: |