原始形式的 OpenCV svm(绝对值 alpha )

Posted

技术标签:

【中文标题】原始形式的 OpenCV svm(绝对值 alpha )【英文标题】:OpenCV svm in the primal form(absolute of alpha ) 【发布时间】:2014-01-06 20:53:58 【问题描述】:

以原始形式。 svm 中很少有 alpha 值是正数,对应的 x 将是支持向量,如 http://en.wikipedia.org/wiki/Support_vector_machine 所示。

如果我错了,请纠正,OpenCV 中的 SVM 是原始形式?那么问题是为什么opencv取alpha的absolute值并乘以y?并检查是否大于0?

这可以看出来:

for( i = 0; i < sample_count; i++ )
    alpha[i] *= y[i];

我的意思可以看作是如果绝对值大于 0,它会计算支持向量

 for( i = 0; i < sample_count; i++ )
        sv_count += fabs(alpha[i]) > 0;

【问题讨论】:

实际上,您可以从 OpenCV 实现中获取这两种形式,因为它使用 LibSVM.. 阅读我链接的论文以获取更多信息。 我知道,但对于 OpenCV,它是原始的吗? 【参考方案1】:

OpenCV 形式是对偶的。原始人没有阿尔法。他们只是将标签的符号滚动到 alpha 的符号中,因为 alpha 必须是正的 - 节省空间和 ups。

【讨论】:

以上是关于原始形式的 OpenCV svm(绝对值 alpha )的主要内容,如果未能解决你的问题,请参考以下文章

线性SVM

支持向量机原始形式实现

从 3 通道彩色图像的原始数据加载 Opencv 矩阵

ML-9-4支持向量机--SVM回归模型(SVR)

03 SVM - KKT条件

OpenCV + HOG +SVM:SVM 单特征向量需要帮助