为什么SVM使用不同的功能获得不同的结果?

赛迪

我使用SVM进行分类。而且我也将TF,TFIDF和目前不存在的功能应用到其中。但是我得到了不同的结果。现在我想知道这是怎么发生的?我如何检查此结果的原因?我应该指出,这种差异不太高。大约是百分之二或百分之三。

Lejlot

总之-因为每一个机器学习方法依赖代表特别是,对于任何合理的(能够学习线性可分离数据的)分类器,确实存在数据表示,该数据表示导致该分类器具有50%的准确性(随机分类器,假设类别是平衡的),并且存在一个数据表示,其结果在分类器中具有100%的准确性(假设贝叶斯风险为零)。考虑“特征集” {f(x)},其中f(x)= 0。换句话说,我们将每个数据点表示为单个数字0,而忽略其真实位置和标签。结果,任何分类器都将失败,并将所有分类器归为一个类别的成员,因此获得50%的准确性(再次假设,每个类别中的样本数量相等)。现在考虑{g(x)},其中g(x)= label(x)。换句话说,我们使用一些假想的预言机,它编码一个点作为其标签。通常,我们不能构造这样的g(这就是ML的全部含义),但是我们正在谈论存在,并且可以肯定地存在(假设贝叶斯风险为零)。因此,现在我们的分类器必须将点{-1}与点{1}进行区分(所有正样本都映射到+1,所有负样本都映射到-1),这是微不足道的,并且它将以100%的精度做到这一点。

这些都是“边界”案例,但这只是为了直觉。一切都取决于表示形式。一个可以(在某些方面!)比其他更好。没有严格的规则。有时在良好的表示形式中添加新特征可能会破坏其价值(例如由于维数的诅咒),有时甚至随机特征也会表现出色。有一个整体(近年来非常活跃)的研究领域,称为表示学习,我建议您对此进行一下了解。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用不同库中的相同功能获得不同结果

使用ggplot和基本绘图功能获得不同的结果

如何以相同的方法使用不同的按钮以获得不同的结果?

Python Scrapy:使用不同的方法获取页面可获得不同的结果

为什么我无法在MySQL中使用不同的行获得结果?

C ++:将int * / float *转换为char *,为什么使用reinterpret_cast获得不同的结果?

使用多线程在不同的运行中获得不同的结果

为什么我对熊猫Series.apply和DataFrame.applymap获得不同的结果?

使用不同的参数测试我的SVM模型可获得完全相同的结果

为什么在调试模式下获得不同的值?

为什么我从Alteryx R工具获得不同的输出

为什么要在相同时区获得不同的localDate

为什么分配后获得不同的指针值?

为什么我在python的sklearn中使用pipline和不使用pipline获得不同的值

Flutter - 如何使用相同的未来获得不同的结果?

使用%dopar%和%do%获得不同的结果

使用RDD和DataFrames获得不同的结果

使用Sparklyr和Dplyr时获得不同的结果

在 mysql 中使用更多条件获得不同的结果

在Windows和Linux中使用R获得不同的结果

为什么使用相同的MATLAB代码获得不同的彩色图像?

当使用不同的程序时,为什么此代码返回不同的结果?

如何迭代对象以获得不同的结果?

改进聚合查询以获得不同的结果

反射-从HashMap获得不同的结果-LinkedHashMap

Keras与定种子获得不同的结果

Java AES加密获得不同的结果

每次从BeautifulSoup获得不同的结果

为什么Golang在使用不同的输出功能时显示不同的值