¿Un modelo sobreajustado es necesariamente inútil?

25

Suponga que un modelo tiene una precisión del 100% en los datos de entrenamiento, pero una precisión del 70% en los datos de la prueba. ¿Es cierto el siguiente argumento sobre este modelo?

Es obvio que este es un modelo sobreajustado. La precisión de la prueba se puede mejorar reduciendo el sobreajuste. Pero, este modelo aún puede ser un modelo útil, ya que tiene una precisión aceptable para los datos de prueba.

Hossein
fuente
17
Si el 70% es aceptable en las aplicaciones particulares, entonces estoy de acuerdo con usted.
Richard Hardy
66
Estoy totalmente de acuerdo con @RichardHardy. Tomemos, por ejemplo, un bosque aleatorio: a menudo, por construcción, el rendimiento de la muestra (no el rendimiento fuera de bolsa) es cercano al 100%, por lo que es extremadamente ajustado. Pero aún así, el rendimiento más bajo evaluado fuera de la bolsa o en conjuntos de prueba / validación podría ser lo suficientemente alto como para convertirlo en un modelo útil.
Michael M
1
@Metariat ¿Por qué no? Esta precisión obtenida en el conjunto de prueba que no se utiliza en la fase de entrenamiento.
Hossein
3
@Metariat, dicho argumento puede eliminar la mayor parte de la práctica estadística, por ejemplo, el estimador de MCO en el modelo lineal normal, prueba para la igualdad de una media muestral a un valor hipotético, y qué no. Lo interesante es que el argumento no depende del ajuste excesivo del modelo en la muestra de entrenamiento. También es válido para modelos de ropa interior y cualquier modelo en general. ¿Eso no es correcto? t
Richard Hardy
44
No llamaría a ese modelo sobreajustado. Se establece un modelo sobreajustado que compara el rendimiento de validación con el rendimiento de la prueba. Incluso entonces, solo si el rendimiento de la prueba fue considerablemente más bajo de lo aceptable, posiblemente catastróficamente. El rendimiento del entrenamiento no significa nada.
Firebug

Respuestas:

32

Creo que el argumento es correcto. Si el 70% es aceptable en la aplicación particular, entonces el modelo es útil aunque esté sobreajustado (más generalmente, independientemente de si está sobreajustado o no).

Si bien equilibrar el sobreajuste con la falta de adecuación se refiere a la optimización (en busca de una solución óptima), tener un rendimiento satisfactorio se trata de suficiencia (¿el modelo funciona lo suficientemente bien para la tarea?). Un modelo puede ser suficientemente bueno sin ser óptimo.

Editar: después de los comentarios de Firebug y Matthew Drury bajo el OP, agregaré eso para juzgar si el modelo está sobreajustado sin saber que el rendimiento de la validación puede ser problemático. Firebug sugiere comparar la validación con el rendimiento de la prueba para medir la cantidad de sobreajuste. Sin embargo, cuando el modelo ofrece una precisión del 100% en el conjunto de entrenamiento sin ofrecer una precisión del 100% en el conjunto de prueba, es un indicador de posible sobreajuste (especialmente en el caso de regresión pero no necesariamente en la clasificación).

Richard Hardy
fuente
Solicitó un ejemplo: tome el código de una red neuronal en el conjunto de datos del iris en stats.stackexchange.com/a/273930/2958 y luego intente con set.seed(100)una ilustración como el fenómeno descrito aquí y set.seed(15)lo contrario. Quizás sea mejor decir "un indicador de posible sobreajuste"
Henry
¿Es posible que un modelo alcance el 100% de precisión tanto en el tren como en la prueba y no se haya sobreajustado?
Rika
1
@Breeze, creo que podría preguntar esto en un hilo separado (y vincular a este para el contexto si es necesario).
Richard Hardy
Acabo de hacer aquí es el enlace
Rika
25

En mi proyecto anterior con detección de fraude de tarjeta de crédito, intencionalmente queremos ajustar los datos / codificados para recordar casos de fraude. (Tenga en cuenta que el sobreajuste de una clase no es exactamente el problema general de sobreajuste del que habló OP). Dicho sistema tiene falsos positivos relativamente bajos y satisface nuestras necesidades.

Entonces, diría que el modelo sobreajustado puede ser útil en algunos casos.

Haitao Du
fuente
55
Esta respuesta es bastante interesante ya que presenta un caso de uso. Creo que con "codificado para recordar" @ hxd1011 significa que el modelo se aseguró de que cada uno de los casos de fraude reportados condujeran a una "bandera de fraude" y que no fueran suavizados o interpolados por una función ajustada . Algo así, ¿verdad?
IcannotFixThis
@IcannotFixEste sí. De hecho, probamos muchas otras formas de controlar los falsos positivos. Pero tratar de sobreajustar los casos de fraude, de una manera loca, funcionó bien.
Haitao Du
3
En su caso, su función de evaluación es sobreponderar TPR y infraponderar FPR, por ejemplo, F_ con >> 1. (Ahora sé por qué mi compañía de tarjetas de débito es tan molesta que señalan cualquier cosa, incluso los escáneres de tarjetas defectuosos en las estaciones de servicio)βββ
smci
3
Eso puede ser molesto, pero es miles de veces menos molesto que arruinar su financiación porque alguien nefasto obtuvo la información de su tarjeta.
Matthew Drury el
12

Quizás: cuidado. Cuando dice que el 70% de precisión (como quiera que lo mida) es lo suficientemente bueno para usted, parece que está asumiendo que los errores se distribuyen de manera aleatoria o uniforme.

Pero una de las formas de ver el sobreajuste es que ocurre cuando una técnica modelo permite (y su proceso de entrenamiento fomenta) prestar demasiada atención a las peculiaridades en el conjunto de entrenamiento. Los sujetos en la población general que comparten estas peculiaridades pueden tener resultados altamente desequilibrados.

Entonces, quizás termines con un modelo que dice que todos los perros rojos tienen cáncer, debido a esa peculiaridad particular en tus datos de entrenamiento. O que las personas casadas de entre 24 y 26 años tienen casi la garantía de presentar reclamos de seguro fraudulentos. Su precisión del 70% deja mucho espacio para que los bolsillos de los sujetos estén 100% equivocados porque su modelo está sobreajustado.

(No estar sobreajustado no es una garantía de que no tendrás focos de predicciones erróneas. De hecho, un modelo mal ajustado tendrá franjas de malas predicciones, pero con el sobreajuste sabes que estás magnificando el efecto de las peculiaridades en tus datos de entrenamiento .)

Wayne
fuente
Gracias. ¿Quiere decir que es posible que este 70% de precisión se obtenga en las peculiaridades de los datos de entrenamiento que también están disponibles en los datos de prueba? ¿No podemos juzgar en función de la precisión de los datos de prueba? Creo que las peculiaridades en los datos de entrenamiento que están disponibles en los datos de prueba deben aprenderse durante el entrenamiento.
Hossein
1
Si te entiendo, sería todo lo contrario: ajustarte demasiado a las peculiaridades te ha dado tu alta precisión en el entrenamiento. La razón por la que obtiene una precisión menor en las pruebas es que esas peculiaridades no se aplican a su conjunto de datos general. Pero, por supuesto, sus conjuntos de entrenamiento y prueba, incluso si realiza una validación cruzada, lo que ayuda, puede ser peculiar en relación con su población. En cuyo caso, sus resultados de prueba / validación no predecirán bien cómo se desempeña realmente.
Wayne
Tiene razón en que el conjunto de pruebas puede ser peculiar en relación con la población, pero esto no es específico de los modelos sobreajustados. Todas nuestras evaluaciones la padecen y no tenemos otra opción que confiar en el conjunto de pruebas como proxy de la verdadera población.
Hossein
Es cierto que no es exclusivo de los modelos con exceso de equipamiento, pero se amplifica en un modelo con exceso de equipamiento. Quiero decir, por definición, que el modelo está sobreajustado porque claramente sufre de enfatizar demasiado las peculiaridades.
Wayne
7

No, pueden ser útiles, pero depende de su propósito. Se me ocurren varias cosas:

  1. Clasificación sensible al costo: si su función de evaluación sobrepondera TPR y subestima FPR, utilizamos con . (como la respuesta de @ hxd1011 en antifraude)Fββ1

  2. Tal clasificador puede ser realmente útil en un conjunto . Podríamos tener un clasificador con pesos normales, uno que sobreponde TPR, uno que sobreponde FNR. Entonces, incluso una simple regla de tres votaciones, o promedios, dará un AUC mejor que cualquier mejor clasificador. Si cada modelo usa diferentes hiperparámetros (o conjuntos de entrenamiento submuestreados, o arquitecturas de modelos), eso le da al conjunto cierta inmunidad contra el sobreajuste.

  3. Del mismo modo, para la puntuación de crédito, antispam o antifraude en tiempo real , está bien y es conveniente utilizar una jerarquía de clasificadores. Los clasificadores de nivel 1 deben evaluar realmente rápido (ms) y está bien tener un FPR alto ; cualquier error que cometan será detectado por clasificadores de alto nivel más precisos, con más funciones, más lentos o, en última instancia, revisores humanos. Ejemplo obvio: evite que los titulares de noticias falsas de las adquisiciones de cuentas de Twitter, como el "ataque con bomba de la Casa Blanca en 2013 mata a tres", afecten $ miles de millones de transacciones en el plazo de más de una publicación. Está bien que el clasificador de nivel 1 marque eso como positivo para spam; permitamos que tome un poco de tiempo (automáticamente) determinar la verdad / falsedad de los informes de noticias sensacionales pero no verificados.

smci
fuente
2

No estoy negando que un modelo sobreajustado aún podría ser útil. Pero solo tenga en cuenta que este 70% podría ser una información engañosa. Lo que necesita para juzgar si un modelo es útil o no es el error fuera de la muestra , no el error de prueba (el error fuera de la muestra no se conoce, por lo que tenemos que estimarlo usando un conjunto de prueba oculto ), y ese 70% es apenas la buena aproximación.

Para asegurarnos de que estamos en la misma página en la terminología después del comentario de @RichardHardy, definamos el error de prueba como el error obtenido al aplicar el modelo en el conjunto de pruebas ciegas. Y el error fuera de la muestra es el error al aplicar el modelo a toda la población.

La aproximación del error fuera de la muestra depende de dos cosas: el modelo en sí y los datos.

  • Un modelo "óptimo" rinde a una precisión (de prueba) que apenas depende de los datos, en este caso, sería una buena aproximación. "Independientemente" de los datos, el error de predicción sería estable.

  • Pero, la precisión de un modelo sobreajustado depende en gran medida de los datos (como mencionó 100% en el conjunto de entrenamiento y 70% en el otro conjunto). Por lo tanto, puede suceder que al aplicar a otro conjunto de datos, la precisión podría ser inferior al 70% (o superior), y podríamos tener malas sorpresas. En otras palabras, ese 70% te dice lo que crees que es, pero no es así.

Metariado
fuente
1
Dado que el conjunto de prueba utilizado que obtiene una precisión del 70% no se ve en la fase de entrenamiento, ¿no es una buena estimación del error fuera de la muestra? Creo que la diferencia entre el error de entrenamiento (100%) y el error de prueba (70%) no es una buena indicación de la diferencia entre el error fuera de muestra y el error de prueba. Es posible que el modelo sobreajustado tenga un 70% de precisión en el mundo real, mientras que es 100% preciso para los datos de entrenamiento. Espero que el error de entrenamiento sea menor que el error de prueba, ya que los datos de entrenamiento se usan para generar el modelo, pero los datos de prueba no se ven durante el entrenamiento.
Hossein
55
Creo que puede haber confundido el conjunto de validación y el conjunto de prueba , y sus respectivos errores. El error de prueba es el error fuera de la muestra . Si bien el error de validación es una medida optimista de un modelo seleccionado, el error de prueba no lo es. El error de prueba es una estimación imparcial de cómo se desempeñará el modelo en una nueva muestra de la misma población. Podemos estimar la varianza del error de prueba, por lo que estamos bastante bien al conocer solo el error de prueba siempre que el conjunto de prueba no sea demasiado pequeño. @Hossein
Richard Hardy
3
¿Puede explicar la diferencia entre el error fuera de muestra y el error de prueba? Según tengo entendido, ambos son el error encontrado al aplicar el modelo a muestras que no se utilizan para entrenar el modelo. La única diferencia posible que puedo ver es que cuando uso datos de series de tiempo, los datos fuera de la muestra deben ser de puntos de tiempo posteriores, pero estas preguntas no mencionan eso.
Nuclear Wang
1
Desde mi perspectiva, el error de prueba es el error obtenido al aplicar el modelo en un conjunto ciego, es una aproximación del error fuera de la muestra, que es el error obtenido al aplicar el modelo a toda la población. Y no es lo mismo, la información valiosa es el error fuera de la muestra. Y cuando el modelo está sobreajustado, el error de prueba no es estable y podrían ocurrir malas sorpresas en los otros conjuntos de datos.
Metariat
44
@Metariat, tiene razón en que el error de prueba es una estimación y podría ser diferente de un conjunto de pruebas a otro. Sin embargo, como mencioné antes, no hay razón para esperar que el error de prueba subestime el error verdadero (no lo hace, en promedio). Entonces, al tomar una muestra de prueba lo suficientemente grande, podemos vincular el error de prueba con un nivel deseado de confianza en un rango deseado. Ahora, de manera más práctica, tal vez debería definir el error de prueba editando su respuesta para asegurarse de que no haya malentendidos de lo que quiere decir al contrastar el error de prueba con el error fuera de la muestra.
Richard Hardy