【问题标题】:Regression confidence using SVMs in python在 python 中使用 SVM 回归置信度
【发布时间】:2023-03-04 21:11:01
【问题描述】:

我在 python 中使用回归 SVM,我想知道是否有任何方法可以为其预测获得“置信度”值。

以前,当使用 SVM 进行二进制分类时,我能够从“边距”计算置信度类型值。这是一些伪代码,显示了我如何获得置信度值:

# Begin pseudo-code
import svm as svmlib

prob = svmlib.svm_problem(labels, data)
param = svmlib.svm_parameter(svm_type=svmlib.C_SVC, kernel_type = svmlib.RBF)
model = svmlib.svm_model(prob, param)

# get confidence
confidence = self.model.predict_values_raw(sample_to_classify)

我想新样本离训练数据越远,置信度越差,但我正在寻找一个可能有助于为此计算合理估计的函数。

我的(高级)问题如下:

  • 我有一个函数 F(x),其中 x 是一个高维向量
  • F(x) 可以计算,但速度很慢
  • 我想训练一个回归 SVM 来逼近它
  • 如果我能找到预测置信度较低的“x”值,我可以添加这些点并重新训练(也称为主动学习)

以前有没有人获得/使用过回归-SVM 置信度/边距值?

【问题讨论】:

标签: python margin regression svm


【解决方案1】:

看看一月份在 Stack 上的类似回复。选择的答案是关于在非参数拟合方法上获得置信度度量的难度。您可能可以做一些贝叶斯类型的事情,但 Python SVM 库可能无法做到这一点:Prefer one class in libsvm (python)

【讨论】:

  • 嗯,这个问题是指 SVM 分类,但我正在寻找 SVM 'Regression' 的解决方案
  • 好的。回归和分类基本上是同一面。在参数建模世界中,我们首先对模型、误差如何分布等做出假设,这构成了我们如何评估模型拟合程度的基础。给定像 SVM 这样的非参数方法,您将不得不使用某种类型的交叉验证技术(即,在学习集上进行训练,使用测试集进行验证)并且您正在寻找某种类型的贝叶斯驱动代理为了合身。这就是我指出该链接的原因。
猜你喜欢
  • 2019-01-07
  • 2017-08-13
  • 2014-05-10
  • 2019-05-16
  • 2015-01-18
  • 1970-01-01
  • 2015-02-28
  • 2011-05-26
  • 2011-12-22
相关资源
最近更新 更多