Machine learning 一类支持向量机的灵敏度随着训练样本数的增加而下降

Machine learning 一类支持向量机的灵敏度随着训练样本数的增加而下降,machine-learning,svm,libsvm,Machine Learning,Svm,Libsvm,我使用单类SVM进行异常值检测。结果表明,随着训练样本数量的增加,一类支持向量机检测结果的灵敏度TP/(TP+FN)下降,分类率和特异性都增加 用超平面和支持向量来解释这种关系的最好方法是什么 谢谢你的训练例子越多,你的分类器就越不能正确地检测出真正的阳性 这意味着新数据与您正在训练的模型不匹配 下面是一个简单的例子 下面有两个类,我们可以使用线性内核轻松地将它们分开。 蓝色等级的灵敏度为1 当我在决策边界附近添加更多黄色的训练数据时,生成的超平面不能像以前那样适合数据 因此,我们现在看到有两

我使用单类SVM进行异常值检测。结果表明,随着训练样本数量的增加,一类支持向量机检测结果的灵敏度TP/(TP+FN)下降,分类率和特异性都增加

用超平面和支持向量来解释这种关系的最好方法是什么


谢谢

你的训练例子越多,你的分类器就越不能正确地检测出真正的阳性

这意味着新数据与您正在训练的模型不匹配

下面是一个简单的例子

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

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

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

随着训练数据数量的增加,支持向量会生成一个不太理想的超平面。可能由于额外的数据,线性可分离的数据集变得非线性可分离。在这种情况下,尝试不同的内核,如RBF内核可以有所帮助

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

您可以看到RBF内核会发生什么。 同样的逻辑也适用,如果训练数据在n维中不容易分离,则结果会更糟

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

在中,图3说明了如果未正确选择C,结果可能会更糟:

如果我们没有选择合适的C,更多的训练数据可能会造成伤害。我们需要这样做 在正确的C上交叉验证以产生良好的结果


嗨@alexandrekow,谢谢你的回答。我正在使用RBF内核,仍然有这个问题。