python - ejemplos de aplicaciones de machine learning
¿Cuál es el inverso de la fuerza de regularización en la regresión logística? ¿Cómo debería afectar mi código? (1)
Regularization es aplicar una penalización al aumentar la magnitud de los valores de los parámetros para reducir el overfitting . Cuando entrena un modelo como un modelo de regresión logística, está eligiendo parámetros que le dan el mejor ajuste a los datos. Esto significa minimizar el error entre lo que el modelo predice para su variable dependiente, dados sus datos en comparación con lo que realmente es su variable dependiente.
El problema viene cuando tienes muchos parámetros (muchas variables independientes) pero no demasiados datos. En este caso, el modelo a menudo adaptará los valores de los parámetros a la idiosincrasia en sus datos, lo que significa que se ajusta a sus datos casi a la perfección. Sin embargo, debido a que esas idiosincrasias no aparecen en los datos futuros que ve, su modelo predice mal.
Para resolver esto, además de minimizar el error como ya se ha comentado, agregue a lo que está minimizado y también minimice una función que penaliza los grandes valores de los parámetros. En la mayoría de los casos, la función es λΣθ j 2 , que es una constante λ multiplicada por la suma de los valores de los parámetros cuadrados θ j 2 . Cuanto mayor sea λ, menos probable es que los parámetros aumenten de magnitud simplemente para ajustar las pequeñas perturbaciones en los datos. Sin embargo, en su caso, en lugar de especificar λ, especifique C = 1 / λ.
Estoy usando sklearn.linear_model.LogisticRegression
en scikit learn
a ejecutar una regresión logística.
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.
¿Qué significa C
aquí en términos simples, por favor? ¿Qué es la fuerza de regularización?