首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用具有特定内核的多个支持向量机分类器-each作为"one vs rest“分类方案?

如何使用具有特定内核的多个支持向量机分类器-each作为"one vs rest“分类方案?
EN

Stack Overflow用户
提问于 2016-05-02 16:22:29
回答 1查看 443关注 0票数 0

假设我们有5个不同类别的样本,如A、B、C、D和E。在我的例子中,要使用"one vs rest分类“方法,就必须有5个1-VS-rest SVM分类器,如下所示:

SVM1: a和rest

SVM2: B对rest

SVM3: C对rest

SVM4: d与rest

SVM5: e对rest

用训练样本训练这5个分类器,每个分类器使用不同的核。新输入的样本被传递给每一个被分类的5个分类器。然后考虑一个实际属于"A“类的新样本被SVM1分类为"A”的备忘录(这是正确的),同时又被SVM4分类为"D“的成员(这是不正确的),问题是如何找出这两种支持向量机中哪一种预测是正确的。我知道必须有某种标准来比较这两种预测的可信度。我正在使用opencv 2.4.8,通过下面的语法,它可以预测新示例所属的类的标签:

代码语言:javascript
复制
float Response = SVM.predict(new_test_sample,false);

我还知道有一个选项可以通过以下语法了解新样本离SVM决策边界有多远:

代码语言:javascript
复制
float Distanc = SVM.predict(test, true);

由于我对每个SVM分类器使用不同的核和不同的参数(因此我知道我不能简单地比较到决策边距的距离来比较预测的可信度……),我的问题是如何比较分类器的预测信任,从而最终知道新样本属于哪一类?感谢所有人

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-03 00:16:17

在这种情况下,您通常做的是使用Platt的缩放。有效地,它仅仅适合逻辑回归在您的决策功能之上,以“校准”您的估计,所以它们是可比的。作为一种效果,您可以得到每个分类器的概率估计P(y=x),它现在可以跨多个模型进行比较。

一般来说,OpenCV是分类器的一个很坏的来源,我会考虑使用实际的ML包,它允许您访问这些标准工具。特别是libsvm,OpenCV对它进行了包装,它具有以下特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36987065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档