Logistic回归中正则化强度的倒数是多少?它应该如何影响我的代码?

时间:2014-04-04 00:18:46

标签: python machine-learning scikit-learn logistic-regression

我在scikit learn中使用sklearn.linear_model.LogisticRegression来运行Logistic回归。

C : float, optional (default=1.0) Inverse of regularization strength;
    must be a positive float. Like in support vector machines, smaller
    values specify stronger regularization.

C在这里用简单的术语表示什么?什么是正规化力量?

1 个答案:

答案 0 :(得分:56)

Regularization正在应用惩罚来增加参数值的大小以减少overfitting。在训练诸如逻辑回归模型之类的模型时,您选择的参数最适合数据。这意味着最小化模型在给定数据的情况下为因变量预测的内容与实际的因变量之间的误差之间的误差。

当你有很多参数(很多自变量)而不是太多的数据时,就会出现问题。在这种情况下,模型通常会将参数值定制为数据中的特性 - 这意味着它几乎可以完美地匹配您的数据。但是,由于这些特性不会出现在您看到的未来数据中,因此您的模型预测效果不佳。

要解决这个问题,并且尽量减少已经讨论过的错误,您可以添加最小化的内容,并最大限度地减少惩罚大值参数的函数。最常见的函数是λΣθ j 2 ,它是平方参数值之和θ j 2 <的一些常数λ倍/ SUP>。较大的λ是参数在幅度上增加的可能性较小,仅仅是为了调整数据中的小扰动。但是,在您的情况下,不是指定λ,而是指定C = 1 /λ。