【发布时间】:2015-09-06 20:59:28
【问题描述】:
我试图了解线性分类 SVM 的工作原理(如用于 HOG people detection 的 SVM)。我觉得我遗漏了一个重要的部分,我害怕我找不到一个清晰的描述来更好地理解它。我知道有现成的实现,最后我可能最终会使用其中一个,但我想了解我在做什么。
据我了解,SVM 接受了许多特征向量和正确分类的训练。在训练之后,SVM 被完全定义为一组超平面(维数是特征向量的长度),通常是一个非常小的数字。我希望(天真地?)我训练有素的 SVM 是这样的:
ax >=b: 0
ax < b: 1
其中 x 是特征向量,ax = b 是超平面。在这里我遇到了问题,因为:
- 我不明白aforementioned paper 他们如何最终得到一个经过训练的 1.7GB 的 SVM。我的应该是 (64 bit/float * (length of feature vector + 1))。
- 使用此 SVM 进行分类很简单,一个点积和一个比较。尽管我似乎找不到太多关于使用 SVM 进行匹配需要多长时间的信息,但人们似乎正在寻找快速实现。
我确信在某些时候我误解了我所读的内容,但是我想知道我的想法哪里出错了。我想我只是陷入了错误的心态,因为我对 SVM 的了解越多,我就越能看到上述描述得到证实,这不可能是正确的。
【问题讨论】:
标签: machine-learning computer-vision svm