【问题标题】:SVM for digit recognition用于数字识别的 SVM
【发布时间】:2012-05-29 11:28:00
【问题描述】:

我需要实现 SVM 数字分类器的概念教授。它应该是我在画布上写的对输入进行分类的简单方法。但我需要从头开始实现它。语言无关紧要。

任何人都可以向我提供逐步说明如何做到这一点。任何材料链接都会有所帮助。但我需要更多与实践相关的东西,而不是理论。因为我已经阅读了一些关于它的理论文章。并且有基本的想法应该如何工作,但仍然有一些麻烦如何将这些想法转化为现实生活中的例子。

非常感谢。

【问题讨论】:

    标签: computer-science classification svm image-recognition


    【解决方案1】:

    This 是关于 SVM 的完美文章。他们提供了一些理论和分步指南 - 如何实施。

    【讨论】:

      【解决方案2】:

      您不会找到编写 SVM 的分步说明。了解它们背​​后的理论和数学很重要,因为它们在算法中发挥着重要作用,如果没有这些背景,算法就很难理解。

      最好的起点是 John Platt 的 Sequential Minimal Optimization (SMO) 算法。我之前已经实现过这篇论文,但是 Platt 假设有大量的背景知识。 Lutz Hamel 的书Knowledge Discovery with Support Vector Machines 是一本很棒的入门书。这本书激发了一切,因此如果您想了解 SVM,您不必了解或了解统计和优化理论。

      如果你真的只想变得超级简单,那么从 UNT 的这个Simplified SMO algorithm 开始,让你的脚湿透。这是没有任何优化的 SMO 算法。

      Platt 的 SMO 算法目前还不是最先进的,但它是许多当前使用的算法的基础。 LibSVMSVMLight 的源代码都可以在线获取。它们基于 SMO 概念的两种不同优化。

      如果您对更高级别没问题,您可以使用像 CVX 这样的凸优化包来实现 SVM,它具有 MatLab 和其他语言的接口。在这种情况下,您只需在 SVM 的核心设置优化问题,并让求解器为您找到解决方案。我不建议尝试从头开始实施 QP 求解器。

      如果您想使用现有的库,并且当您说“从头开始”时,您指的是处理数据而不是 SVM 算法本身,您可以查看现有的实现,例如 R 中可用的实现。 "Support Vector Machines in R" 介绍了如何做到这一点。 Hamel 的书也使用了 R。

      手写数字识别数据集已在众多SVM papersclassifier comparisons 中使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-08
        • 2015-07-09
        • 2014-05-04
        • 2015-04-24
        • 2013-12-13
        • 2017-06-13
        • 2012-10-23
        • 2018-08-20
        相关资源
        最近更新 更多