首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svm.svm_predict_probability方法(用于返回类型)是如何工作的?

svm.svm_predict_probability方法(用于返回类型)是如何工作的?
EN

Stack Overflow用户
提问于 2014-01-23 10:22:26
回答 1查看 664关注 0票数 0

我们有两个类别,有很多文档,其中一些在第一类,另一些在第二类,我成功地得到了类别模型,正如您所知道的,svm.svm_predict_probability方法返回1 or -1

我想知道它何时返回1,何时返回-1,如何找到分配给第一个类别的数字以及分配给第二个类别的数字

提前谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-24 10:02:08

根据libsvm常见问题

内部类标签是根据它们在培训集中的第一次出现来排序的。对于k类数据,内部标号为0,.,k-1,每个两类支持向量机考虑对(i,j)与i< j,则I类被视为正(+1),j为负(-1)。例如,如果数据集的标签为+5/+10和+10,那么内部+5与+10 SVM问题的+10为正(+1),+5为负(-1)。 通过此设置,如果您有+1和-1标签,则可能在内部它们分别对应于-1和+1。一些新用户对此感到困惑,因此在3.17版本之后,如果数据集只有两个标签+1和-1,那么在内部我们确保+1在-1之前。然后,在支持向量机问题中,类+1总是被视为正的。请注意,这仅适用于两类数据。

因此,在现代libsvm (3.17之后)中有两种情况:

  • 如果您的训练数据中有+1和-1类,则在模型中是相同的。
  • 否则,出现在训练数据中的第一类是+1级,第二个是-1级。

内部决定是根据支持向量机问题的具体表述作出的,可以简短地说明如下:

f(x) = sgn( SUM_i alpha_i y_i K(SV_i,x) + b )

哪里

  • alpha_i -在优化过程中发现的拉格朗日系数(第一支持向量)
  • I‘’th支持向量的y_i标号
  • SV_i -I‘’th支持向量
  • B-截距/偏置值(在优化过程中找到)
  • K(.,.) -核函数用于训练,例如线性核K(x,y) = x'y,或径向基函数核K(x,y) = exp(-gamma _x_x-y_x_(^2))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21305302

复制
相关文章

相似问题

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