Este es un principiante pregunta sobre regularización con la regresión. Más información acerca de Red Elástica y Lazo de Regresión en línea replica la información de la Wikipedia o el original del 2005 de papel por Zou y Hastie (Regularización y selección de variables a través de la red elástica).

De recursos para la teoría de simple? Hay una forma sencilla y fácil explicación en algún lugar sobre lo que hace, cuándo y por qué reguarization es necesario, y cómo usarlo – para aquellos que no son estadísticamente inclinado? Entiendo que el documento original es la fuente ideal si usted puede entender, pero está allí en algún lugar que, más sencillamente, el problema y la solución?

Cómo utilizar en sklearn? Hay un ejemplo paso a paso que muestra por qué una red elástica es elegido (caballete, lazo, o de la simple OLS) y cómo los parámetros se calculan? Muchos de los ejemplos en sklearn sólo incluyen alfa y rho parámetros directamente en el modelo de predicción, para ejemplo:

from sklearn.linear_model import ElasticNet
alpha = 0.1
enet = ElasticNet(alpha=alpha, rho=0.7)
y_pred_enet = enet.fit(X_train, y_train).predict(X_test)

Sin embargo, no explica cómo estos fueron calculados. ¿Cómo se calculan los parámetros del lazo o neto?

  • Usted puede aprender los fundamentos de la regularización en el prof. Andrew Ng excelente máquina de aprendizaje del curso. Él habla de L2 de regularización, pero la matemática para la L1 o E-net es muy similar. Como para encontrar el derecho de los parámetros, scikit-learn tiene clases como ElasticNetCV para que.
  • Yo también aconsejamos mirar en Elements of statistical learning un gran libro sobre el aprendizaje de máquina, que está disponible en línea de forma gratuita. Por cierto, la regresión de la etiqueta aquí no se parece a lo que te refieres 😉
  • Me acaba de editar la descripción de la etiqueta para regression. La mayoría de las preguntas parecen ser acerca de «cómo utilizar R/SciPy/Matlab/Octave», por lo que probablemente no está sobre la prueba.
InformationsquelleAutor Zach | 2012-09-05

2 Comentarios

  1. 24

    La documentación que falta. He creado una nueva problema para mejorarlo. Como Andreas dijo que el mejor recurso es probablemente ESL II libremente disponible en línea en formato PDF.

    Para sintonizar automáticamente el valor de alfa de hecho, es posible utilizar ElasticNetCV que le sobra redundante de cálculo en lugar de hacerlo con el uso de GridSearchCV en el ElasticNet clase para la optimización de los alpha. En complemento, se puede utilizar un regular GridSearchCV para encontrar el valor óptimo de rho. Ver el docstring de ElasticNetCV para obtener más detalles.

    Como para Lazo vs ElasticNet, ElasticNet tenderá a seleccionar más variables, en consecuencia, generar modelos de mayor tamaño (más caro que el tren), pero también a ser más precisos en general. En particular, el Lazo es muy sensible a la correlación entre características y podría seleccionar al azar a uno de los 2 muy correlacionadas informativo características, mientras que ElasticNet será más probable para seleccionar tanto que debería conducir a una mayor estabilidad de la modelo (en términos de la capacidad de generalización de lo nuevo de muestras).

    • Sí, el Lazo se escoge una variable de un grupo altamente correlacionada características. Esta es una especie de proceso aleatorio, como lo menciona @ogrisel. Red elástica, por otro lado, hace que la opción de dejar a todo el grupo de altamente correlacionados características dentro o fuera.

Dejar respuesta

Please enter your comment!
Please enter your name here