SVM:如何计算点到边缘的距离



你好,实际上我正在使用opencv开发CBIR用于特征提取和svm。

我的问题是:我正在使用一个带有RBF内核的ONE_CLASS分类器。我使用opencvSVM的函数预测,最后一个参数为true(意味着如果分类器是二进制的,那么它将带符号的距离返回到空白),以便对我的数据进行分类。

但是,即使这个参数被设置为true,它也只返回标签(所以在我的情况下不是很有帮助)。

所以我的问题是:计算数据到边缘的距离的方程是什么(知道向量支持)?

谢谢

一般来说,与分离超平面的距离与SVM用于分类的距离完全相同。换句话说,分类方程就是你要求的符号距离的一个符号

给定内核K,支持向量SV_i和alpha系数alpha_i(拉格朗日乘数)和阈值(偏差)b,公式很简单,给定与每个支持向量y_i相关的标签:

sgn_dist(x) = SUM_i alpha_i y_i K(x, SV_i) - b

这是有符号的距离,所以当它在正的一边时,你得到的是正的,否则是负的,如果你想要一个"真"距离(没有标签),只需除以标签或取绝对值

dist(x) = |sgn_dist(x)| = |SUM_i alpha_i y_i K(x, SV_i) - b|

相关内容

  • 没有找到相关文章

最新更新