我正在使用One-Class SVM进行异常值检测。随着训练样本数量的增加,单类SVM检测结果的灵敏度TP /(TP + FN)下降,分类率和特异性均增加。
在超平面和支持向量方面解释这种关系的最佳方法是什么?
由于
答案 0 :(得分:0)
您拥有的训练样本越多,分类器就越能够正确检测到真阳性。
这意味着新数据与您正在训练的模型无法正确匹配。
这是一个简单的例子。
下面有两个类,我们可以使用线性内核轻松分离它们。 蓝类的灵敏度为1。
当我在决策边界附近添加更多黄色训练数据时,生成的超平面不能适应以前的数据。
因此,我们现在看到有两个错误分类的蓝色数据点。 蓝色类的灵敏度现在为0.92
随着训练数据的数量增加,支持向量生成稍微不太理想的超平面。也许是因为额外的数据,线性可分的数据集变得非线性可分。在这种情况下尝试不同的内核,比如RBF内核可以提供帮助。
编辑:添加有关RBF内核的更多信息:
In this video你可以看到RBF内核会发生什么。 同样的逻辑适用,如果训练数据在n维中不易分离,则会产生更差的结果。
您应该尝试使用交叉验证来选择更好的C.
在this paper中,图3说明如果没有正确选择C,结果会更糟:
如果我们没有选择适当的C.我们需要更多的训练数据可能会受到伤害 对正确的C进行交叉验证以产生良好的结果