libsvm 不提供支持向量/没有支持向量

Posted

技术标签:

【中文标题】libsvm 不提供支持向量/没有支持向量【英文标题】:libsvm not giving support vectors / no support vectors 【发布时间】:2014-06-28 12:08:27 【问题描述】:

我正在使用 jlibsvm 做 SVM 进行回归。我的数据集非常小(42 个样本)。当我使用数据集使用带有 sigmoid 内核的 epsilon SVR 创建模型时,不会生成支持向量。

这是我在模型文件中得到的:

svm_type epsilon_svr
kernel_type sigmoid
gamma 0.02380952425301075
coef0 0.0
label
rho -66.42803
total_sv 0
probA -1.0
SV

当我在 libsvm 网站上使用其他一些数据集时,我会得到一个带有支持向量的模型文件。 有人可以建议为什么没有为我的数据集生成支持向量吗? 我的数据集文件格式正确,所以没有问题...

【问题讨论】:

【参考方案1】:

这可能意味着,根据您的数据和超参数,找到的最佳分类是为所有样本分配相同的标签。

您的样品是否不平衡?正样本和负样本的数量是多少?您可能想尝试为正/负样本添加权重以解决此问题

考虑到样本的结构和内核类型,也可能难以分离样本。您是否尝试过不同的结构?

只有 42 个数据样本,也许您可​​以将它们添加到您的问题中并获得更好的答案。

【讨论】:

Nicolas 感谢您的回复。我对神经网络和 K 最近邻使用了相同的数据,但效果很好。不过,我不得不调整神经网络的很多参数。我的数据是非线性的,我正在使用 SVM 进行回归我使用 epsilon SVR 并尝试了各种内核函数,例如线性、多项式、径向基、S 型。但同样的结果。关于更改和尝试哪些参数等的任何想法?? 我的数据有 14 个输入。样本数量为 42 .. 我尝试使用更高的样本 200 。仍然没有帮助。我正在使用 epsilon SVR。 @vinzzz,还没有运气吗?如果您发现发生这种情况的原因,请添加一些信息!谢谢!

以上是关于libsvm 不提供支持向量/没有支持向量的主要内容,如果未能解决你的问题,请参考以下文章

Libsvm 模型中的支持向量是如何排列的?

LIBSVM:从模型文件中获取支持向量

Libsvm 将支持向量的数量设为零

使用 python 的 libsvm 支持具有高维输出的向量回归

Python 中的支持向量机使用 libsvm 功能示例

关于支持向量机的一点简介