LIBLINEAR对C参数非常敏感

时间:2013-06-13 08:19:32

标签: libsvm

我从LIBLINEAR获得了不同的结果,它是scikit-learn for python的包装器。前者对C参数非常敏感(我的情况下的质量在默认设置C = 1时非常低,并且在增加C时急剧增加),这与文档和scikit-learn包装中所述相反行为。这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

我不熟悉scikit-learn文档所说的内容,但您所描述的行为是预期的行为。

当你谈到“质量”时,我猜你指的是训练错误和性能错误。正如您可能知道的那样,参数C是模型为每个错误分类“支付”的惩罚成本。从这个意义上讲,人们可以认为,使用更高的C,你会告诉算法尽可能挑剔,并尽可能调整数据,因为它可以给出所提供的参数,因此高C往往更接近于过度拟合训练组。

那么,这是件好事吗?嗯,这取决于,一般情况下,如果你增加C值太多,那么你可能会遇到过度拟合,并且在一般性能误差下做得很差。但是,C值通常会随着您的数据以及/(如果您)对其执行规范化而变化。我总是必须更改为C的默认值,因为它从未对我有用。有时使用C = 10,其他一些时候使用C = 100。找到这个的一个好方法是使用交叉验证来搜索适用于您的数据集的值。

相关问题