一级支持向量机灵敏度当训练样本数量增加时下降

时间:2014-07-02 20:59:05

标签: machine-learning svm libsvm

我正在使用One-Class SVM进行异常值检测。随着训练样本数量的增加,单类SVM检测结果的灵敏度TP /(TP + FN)下降,分类率和特异性均增加。

在超平面和支持向量方面解释这种关系的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

您拥有的训练样本越多,分类器就越能够正确检测到真阳性。

这意味着新数据与您正在训练的模型无法正确匹配。

这是一个简单的例子。

下面有两个类,我们可以使用线性内核轻松分离它们。 蓝类的灵敏度为1。

enter image description here

当我在决策边界附近添加更多黄色训练数据时,生成的超平面不能适应以前的数据。

因此,我们现在看到有两个错误分类的蓝色数据点。 蓝色类的灵敏度现在为0.92

enter image description here

随着训练数据的数量增加,支持向量生成稍微不太理想的超平面。也许是因为额外的数据,线性可分的数据集变得非线性可分。在这种情况下尝试不同的内核,比如RBF内核可以提供帮助。

编辑:添加有关RBF内核的更多信息:

In this video你可以看到RBF内核会发生什么。 同样的逻辑适用,如果训练数据在n维中不易分离,则会产生更差的结果。

您应该尝试使用交叉验证来选择更好的C.

this paper中,图3说明如果没有正确选择C,结果会更糟:

  

如果我们没有选择适当的C.我们需要更多的训练数据可能会受到伤害   对正确的C进行交叉验证以产生良好的结果