我在使用 scikit learn
中的 sklearn.linear_model.LogisticRegression
来运行逻辑回归。
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
在简单术语中是什么意思?什么是正则化强度?
回答:
正则化 是通过对参数值的增加施加惩罚来减少过拟合。当你训练一个模型,如逻辑回归模型时,你是在选择最适合数据的参数。这意味着最小化模型对给定数据的预测与实际依赖变量之间的误差。
问题出现在你有许多参数(许多独立变量)但数据量不足的情况下。在这种情况下,模型往往会根据数据中的特异性来调整参数值——这意味着它几乎完美地拟合你的数据。然而,因为这些特异性不会出现在你将来看到的数据中,你的模型预测效果会很差。
为了解决这个问题,除了已经讨论过的最小化误差外,你还需要增加一个最小化的函数,该函数对参数的大值进行惩罚。最常用的函数是 λΣθj2,即某个常数 λ 乘以参数值 θj2 的平方和。λ 值越大,参数值的增加就越不可能仅仅是为了调整数据中的小扰动。然而,在你的情况下,你不是指定 λ,而是指定 C=1/λ。