Después de lograr una precisión de aproximadamente el 82% en los datos de prueba mediante regresión logística, ¿cómo puedo estar seguro / seguro de que mi algoritmo se generalizará bien para toda la población?

Primero defina lo que quiere decir con “precisión” y luego obtenga más muestras de prueba.

Por lo general, tenemos que distinguir entre precisión positiva y negativa y también considerar la recuperación o F1. Por ejemplo, si mis 100 muestras de datos de prueba constan de 82 positivos y 18 negativos, puedo construir un clasificador de regresión logística bastante rápido que sea 82% exacto simplemente generando un 1. Simplemente estableceré la intercepción [matemáticas] \ beta_0 [/ math] a algo grande para que [math] \ frac {1} {1 + e ^ – \ beta_0} [/ math] esté cerca de 1. Podrías llegar a esta conclusión observando tus muestras de entrenamiento, pero podrías También observe su intercepción y coeficientes. Esto me lleva a mi primer punto:

  • Comprenda las implicaciones que su intercepción y coeficientes tienen en sus datos

Puede distinguir mucho de los datos simplemente mirando los coeficientes. Esto se debe a que la regresión logística conserva las probabilidades marginales en su distribución en los coeficientes. También puede detectar cuándo los parámetros exhiben una alta correlación.

Una vez que tenga una mejor medición del poder predictivo, y esté seguro de que sus datos se eligen IID, represente bien a la población y esté relativamente libre de multicolinealidad, la desigualdad de Hoeffding le dará un límite superior muy flojo en su error de generalización:

[matemáticas] P (S_n – E [S_n] \ geq \ epsilon) \ leq e ^ {- 2n \ epsilon ^ 2} [/ matemáticas]

Por lo tanto, si desea más confianza, debe disminuir sus expectativas de lo que es aceptable o aumentar. También digo que esto es un límite superior suelto porque, en términos prácticos, si la variación de sus datos es relativamente pequeña, es posible que necesite menos muestras para tener un nivel razonable de confianza con el que pueda dormir bien. Aquí hay un código de Python si desea calcular cuántas muestras necesitará:

matemáticas de importación
f = confianza lambda, probabilidad: 1 / (2 * (confianza) ** 2) * math.log (2.0 / (1.0-probabilidad))
# Quiero estar 90% seguro de que la diferencia medida entre la precisión de la prueba y la precisión verdadera no es más de 0.1
f (0.1, 0.9) # = 149.78 ~ = 150 muestras
# Quiero estar 95% seguro de que la diferencia medida entre la precisión de la prueba y la precisión verdadera no es más de 0.05
f (0.05, 0.95) # = 737.77 ~ = 738 muestras
# Quiero estar 95% seguro de que la diferencia medida entre la precisión de la prueba y la precisión verdadera no es más de 0.01
f (0.01, 0.95) # = 18444.39 ~ = 18,445 muestras
# Quiero estar 99% seguro de que nuestro error está dentro del 1%
f (0.01, 0.99) # = 26491.58 ~ = 26,492 muestras

Una pregunta que debe hacerse antes de continuar: ¿el 82% de precisión es una medida de éxito suficientemente buena? La respuesta a esa pregunta depende únicamente del problema y el poder predictivo de los datos. Puede haber problemas donde incluso el 95% no es lo suficientemente bueno y otros donde incluso el 60% sería difícil de lograr. Asegúrese de comparar sus resultados con el estándar de la industria para ese problema.

Ahora, para responder a su pregunta sobre la generalización, es necesario verificar estos dos factores (y en la mayoría de los casos, suficiente) para estar seguro de que el modelo se generalizará bien:

  1. ¿Alguna vez el modelo vio los datos de prueba antes? Si era parte de los datos de entrenamiento o si se utilizó para ajustar el modelo, existe la posibilidad de que el modelo no se generalice.
  2. ¿Los datos de la prueba son un buen representante de la población? Esto a veces es obvio: un modelo de predicción del clima entrenado y probado en datos de verano sería muy bueno si se le pidiera que pronosticara el invierno. Puede comenzar a tener problemas en los casos en que su conjunto de datos era pequeño para comenzar y eligió una parte muy pequeña de él como datos de prueba. En ese caso, puede no representar bien a la población.

Una buena idea para ganar más confianza sobre su modelo sería llevar a cabo más validación del modelo. La validación cruzada de K-fold es un buen punto de partida.

ML trabaja en el concepto de Probablemente Aproximadamente Correcto. En pocas palabras, se trata de hasta qué punto nuestro proceso de minimizar la Pérdida EMPÍRICA (en muestras en Capacitación) puede llevarnos a lograr nuestro objetivo final de minimizar la Pérdida ESPERADA (en toda la distribución).

Dos cosas que pueden ayudar para casi cualquier cosa:

  1. MÁS DATOS en Capacitación y prueba (esto hace que ambos sean un representante más rico de la población total, por lo tanto, más confiables), por ejemplo, usar validación cruzada, más datos nuevos
  2. ASEGÚRESE DE QUE LA BRECHA ENTRE LA DISTRIBUCIÓN en la capacitación (prueba inc.) Y los datos de producción reales se minimiza.
    • En casos que no son de kaggle, el modelo se implementa en nuevos períodos de tiempo / en el futuro.
    • Por lo tanto, no hay garantía de que la “Distribución” utilizada en Capacitación y Validación (en el tiempo presente) permanezca igual en la producción (en el tiempo futuro) … ¡o incluso que cambie al mismo ritmo, de la misma manera!
    • Dos formas comunes de minimizar esto son:
        1. RE-FORMACIÓN / Actualización del modelo a menudo (a medida que ingresan nuevos datos)
        2. Evite las características que NO SON ESTACIONARIAS en sí mismas o en cómo impactan en la Y. Por ejemplo, en el comercio minorista, un modelo que predice a los clientes ‘conscientes de la salud’ que usan cuánto se involucran en productos más amplios de ‘categoría de aptitud’ como característica. más estable que predecirlo en función de cuánto invierten, digamos ‘Yoga Mats’ (no me refiero a un producto específico dentro de la categoría Fitness que puede ser una gran tendencia hoy, pero podría resultar una moda 1 mes después)

        Puede aplicar la validación cruzada k -pliegue para obtener un resultado más confiable del rendimiento de su modelo.

        Esto significa dividir su conjunto de datos en k partes donde las partes k-1 se usan para entrenamiento y la parte k se usa para pruebas. Puede leer más sobre esta técnica aquí: Validación cruzada en inglés simple

        Otra pregunta es: ¿podría / podría una regresión más tradicional realizada en una escala de relación adecuada producir mejores resultados? Considere publicar los datos en algún lugar donde puedan probarse con dichos métodos. [[Es una transformación de escala de relación que tengo en mente. ]]

        El hecho de que su algo entrenado tenga una precisión del 82 por ciento, significa que solo puede tener una precisión del 82 por ciento en cualquier dato dado.
        Si desea tener más confianza en este resultado, intente obtener más datos para su conjunto de entrenamiento y prueba también.

        More Interesting

        ¿Cuáles podrían ser las características posibles para detectar fraude en transacciones en cajeros automáticos?

        ¿Qué es una comprensión intuitiva del análisis factorial?

        Cómo comenzar con el aprendizaje de múltiples núcleos

        ¿Qué debo hacer si determino que los resultados de mi conjunto de datos de entrenamiento difieren mucho de los resultados de mi conjunto de datos de prueba?

        ¿Puede el aprendizaje automático realizar un análisis de sentimientos de una palabra clave dada de una conversación?

        ¿Cuáles son las mejores marcas de CPU y GPU para el aprendizaje automático?

        ¿Qué es más poderoso, la red neuronal convolucional o la red artificial? ¿Cuál es más conveniente de usar?

        ¿Cuáles son las diferencias entre el aprendizaje automático y los programas de posgrado en ciencias de datos?

        ¿Cuáles son algunas bibliotecas de software para el aprendizaje a gran escala?

        ¿Qué algoritmos de optimización son buenos candidatos para la paralelización con MapReduce?

        ¿Cuáles son algunos algoritmos para resolver el problema de los bandidos multi-armados?

        ¿Cómo funciona la regresión lineal múltiple en variables categóricas?

        ¿Por qué deberíamos considerar muestras negativas en un sistema de recomendación basado en comentarios implícitos?

        Como estudiante universitario de ciencias de la computación, cuál es la mejor opción entre cs o estadísticas Ph.D. para la carrera de ciencia de datos?

        ¿Cuáles serán los casos de uso de aprendizaje automático más grandes de 2017?