289 votos

¿Cómo saber que su problema de aprendizaje automático no tiene solución?

Imagina un escenario estándar de aprendizaje automático:

Te enfrentas a un gran conjunto de datos multivariantes y tienes una comprensión bastante borrosa del mismo. Lo que necesita es hacer predicciones sobre alguna variable en base a lo que tienes. Como siempre, usted limpia los datos, mira las estadísticas descriptivas, ejecuta algunos modelos pero después de varios intentos, yendo y viniendo y probando múltiples modelos, no se consigue nada. y probando varios modelos, nada parece funcionar y los resultados resultados son miserables. Puedes pasar horas, días o semanas en un problema...

La cuestión es: ¿cuándo parar? ¿Cómo se puede conozca ¿que tus datos realmente no tienen remedio y que todos los modelos extravagantes no te servirían más que para predecir el resultado medio de todos los casos o alguna otra solución trivial?

Por supuesto, se trata de un problema de previsibilidad, pero por lo que sé, es difícil evaluar la previsibilidad de los datos multivariantes antes de probar algo con ellos. ¿O me equivoco?

<em>Descargo de responsabilidad: </em>esta pregunta está inspirada en esta otra <a href="https://stats.stackexchange.com/questions/222023/when-have-i-to-stop-looking-for-a-model">¿Cuándo tengo que dejar de buscar un modelo? </a>que no atrajo mucha atención. Estaría bien tener una respuesta detallada a esta pregunta como referencia.

2 votos

Este problema puede responderse en términos prácticos (como hizo @StephanKolassa) o en términos absolutos (algún tipo de teorema que demuestre que un modelo dado puede aprender un problema si se cumplen ciertas condiciones). ¿Cuál quieres?

7 votos

Esto se parece al clásico problema de detención de la informática? Supongamos que tenemos un algoritmo A de complejidad arbitraria que busca en los datos de entrada D modelos predictivos, y el algoritmo se detiene cuando encuentra un "buen" modelo para los datos. Sin añadir una estructura significativa a A y D, no veo cómo se puede saber si A se detendrá alguna vez dada la entrada D, cómo se puede saber si A tendrá éxito finalmente o seguirá buscando para siempre.

0 votos

@Superbest puede ser ambas cosas. Si tienes algo que añadir, no dudes en contestar. Nunca he oído hablar de un teorema que establezca algo sobre el tratamiento de los datos ruidosos multidimensionales de la vida real, pero si conoces uno que se aplique, entonces me interesaría leer tu respuesta.

338voto

icelava Puntos 548

Previsibilidad

Tienes razón en que se trata de una cuestión de previsibilidad. Ha habido algunos artículos sobre la previsibilidad en el La revista del IIF orientada a los profesionales Previsión . (Revelación completa: soy editor asociado).

El problema es que la previsibilidad ya es difícil de evaluar en casos "sencillos".

Algunos ejemplos

Suponga que tiene una serie temporal como ésta pero no habla alemán:

eggs

¿Cómo modelaría el gran pico de abril y cómo incluiría esta información en las previsiones?

A no ser que supieras que esta serie temporal es la de las ventas de huevos en una cadena de supermercados suiza, que alcanza su punto máximo justo antes de calendario occidental Pascua no tendrías ninguna oportunidad. Además, como la Semana Santa se desplaza en el calendario hasta seis semanas, cualquier previsión que no incluya la específico fecha de la Semana Santa (suponiendo, por ejemplo, que se trata de un pico estacional que se repetiría en una semana concreta del año siguiente) estaría probablemente muy equivocado.

Del mismo modo, suponga que tiene la línea azul de abajo y que quiere modelar lo que ocurrió el 28-02-2010 de forma tan diferente a los patrones "normales" del 27-02-2010:

hockey game

De nuevo, sin saber lo que ocurre cuando toda una ciudad llena de canadienses ve un partido de la final olímpica de hockey sobre hielo por televisión, no tienes ninguna posibilidad de entender lo que ha ocurrido aquí, y no podrás predecir cuándo se repetirá algo así.

Por último, mira esto:

outlier

Se trata de una serie temporal de ventas diarias en un cash and carry tienda. (A la derecha, tienes una tabla sencilla: 282 días tuvieron cero ventas, 42 días vieron ventas de 1... y un día vio ventas de 500). No sé qué artículo es.

A día de hoy, no sé qué pasó ese día con las ventas de 500. Mi mejor conjetura es que algún cliente hizo un pedido anticipado de una gran cantidad de cualquier producto y lo recogió. Ahora bien, sin saber esto, cualquier previsión para este día en particular estará muy lejos. Por el contrario, supongamos que esto ocurrió justo antes de la Semana Santa, y tenemos un algoritmo tonto-inteligente que cree que esto podría ser un efecto de la Semana Santa (¿tal vez son huevos?) y pronostica alegremente 500 unidades para la próxima Semana Santa. Oh, Dios, ¿podría que ir mal.

Resumen

En todos los casos, vemos cómo la previsibilidad sólo puede entenderse bien una vez que tenemos un conocimiento suficientemente profundo de los factores probables que influyen en nuestros datos. El problema es que, a menos que conozcamos estos factores, no sabemos que podemos no conocerlos. Según Donald Rumsfeld :

[Hay cosas conocidas; hay cosas que sabemos que sabemos. También sabemos que hay cosas desconocidas; es decir, sabemos que hay cosas que no conocemos. Pero también hay incógnitas desconocidas; las que no sabemos que no conocemos.

Si la Pascua o la predilección de los canadienses por el hockey son incógnitas para nosotros, estamos atascados, y ni siquiera tenemos un camino a seguir, porque no sabemos qué preguntas debemos hacer.

La única manera de dominarlas es reunir conocimientos sobre el tema.

Conclusiones

De esto saco tres conclusiones:

  1. Usted siempre necesita incluir el conocimiento del dominio en su modelado y predicción.
  2. Incluso con el conocimiento del dominio, no está garantizado que obtenga suficiente información para que sus previsiones y predicciones sean aceptables para el usuario. Véase el valor atípico anterior.
  3. Si "sus resultados son miserables", puede que esté esperando más de lo que puede conseguir. Si está pronosticando un lanzamiento de moneda justo, entonces no hay forma de superar el 50% de precisión. Tampoco te fíes de las referencias externas de precisión de las previsiones.

El resultado final

Así es como yo recomendaría construir modelos - y darse cuenta de cuándo parar:

  1. Hable con alguien que tenga conocimientos sobre el tema si no los tiene.
  2. Identifique los principales impulsores de los datos que desea pronosticar, incluidas las interacciones probables, basándose en el paso 1.
  3. Construir los modelos de forma iterativa, incluyendo los impulsores en orden decreciente de fuerza según el paso 2. Evaluar los modelos mediante validación cruzada o una muestra retenida.
  4. Si la precisión de sus predicciones no aumenta, vuelva al paso 1 (por ejemplo, identificando las predicciones erróneas que no puede explicar y discutiéndolas con el experto en la materia), o acepte que ha llegado al final de las capacidades de sus modelos. Cómo delimitar el tiempo de su análisis de antemano ayuda.

Tenga en cuenta que no estoy abogando por probar diferentes clases de modelos si su modelo original se estanca. Por lo general, si se empezó con un modelo razonable, el uso de algo más sofisticado no producirá un gran beneficio y puede ser simplemente un "sobreajuste en el conjunto de pruebas". Lo he visto a menudo, y otras personas están de acuerdo .

23 votos

+1 por la maravillosa respuesta con la que estoy totalmente de acuerdo. No la acepto (todavía) ya que sigo esperando otras respuestas ya que el problema es amplio.

3 votos

Claro. ¡Me encantaría ver también la perspectiva de otra persona sobre esto!

28 votos

If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy. . Ahí lo has dicho todo.

91voto

oddfellow Puntos 1091

La respuesta de Stephan Kolassa es excelente, pero me gustaría añadir que también suele haber una condición de parada económica:

  1. Cuando se hace ML para un cliente y no por diversión, hay que tener en cuenta la cantidad de dinero que el cliente está dispuesto a gastar. Si paga a tu empresa 5.000 euros y te has pasado un mes buscando un modelo, perderás dinero. Suena trivial, pero he visto que el pensamiento de "debe haber una solución!!!!" ha llevado a enormes sobrecostes. Así que detente cuando el dinero se acabe y comunica el problema a tu cliente.
  2. Si ha realizado algún trabajo, suele tener una idea de lo que es posible con el conjunto de datos actual. Trata de aplicarlo a la cantidad de dinero que puedes ganar con el modelo, si la cantidad es trivial o un neto negativo (por ejemplo, debido al tiempo de recopilación de datos, desarrollo de una solución, etc.) deberías parar.

Como ejemplo: teníamos un cliente que quería predecir cuándo se rompían sus máquinas, analizamos los datos existentes y encontramos esencialmente ruido. Indagamos en el proceso y descubrimos que los datos más críticos no se registraban y eran muy difíciles de recopilar. Pero sin esos datos, nuestro modelo era tan deficiente que nadie lo habría utilizado y estaba enlatado.

Aunque me he centrado en la economía cuando se trabaja en un producto comercial, esta regla también se aplica al mundo académico o a los proyectos de diversión: aunque el dinero es menos preocupante en esas circunstancias, el tiempo sigue siendo un bien escaso. Por ejemplo, en el mundo académico deberías dejar de trabajar cuando no produzcas resultados tangibles y tengas otros proyectos más prometedores que podrías hacer. Pero no abandones ese proyecto: por favor, publica también los resultados nulos o los que "necesitan más / otros datos", ¡también son importantes!

1 votos

¡+1 definitivamente un gran punto! Supongo que todas las respuestas a esta pregunta pueden parecer "obvias", pero no he visto en ningún sitio todas esas cosas "obvias" reunidas como referencia.

3 votos

Por cierto, esta regla de parada se aplica también a los casos no comerciales: por ejemplo, si se hace algún tipo de investigación, entonces nuestros resultados también tienen algún valor abstracto y continuar con el análisis "sin esperanza" también es razonable sólo hasta que el valor de su análisis supere lo que podría haber hecho en su lugar. Así que, de hecho, este argumento de la teoría de la decisión puede hacerse más general.

2 votos

Creo que "nadie habría usado ist y fue enlatado" debería cambiarse por "nadie lo habría usado y fue enlatado", ¿era este su significado?

18voto

sdf Puntos 11

Hay otra manera. Pregúntate a ti mismo

  1. ¿Quién o qué hace las mejores previsiones posibles de esta variable concreta?"
  2. ¿Mi algoritmo de aprendizaje automático produce resultados mejores o peores que las mejores previsiones?

Así, por ejemplo, si tuvieras un gran número de variables asociadas a diferentes equipos de fútbol y estuvieras tratando de predecir quién ganará, podrías mirar las probabilidades de las casas de apuestas o alguna forma de predicción de la multitud para comparar con los resultados de tu algoritmo de aprendizaje automático. Si es mejor, puede que esté en el límite, si es peor, está claro que hay margen de mejora.

Su capacidad de mejorar depende (a grandes rasgos) de dos cosas:

  1. ¿Está utilizando los mismos datos que el mejor experto en esta tarea concreta?
  2. ¿Está utilizando los datos con la misma eficacia que el mejor experto en esta tarea?

Depende de lo que intente hacer exactamente, pero tiendo a utilizar las respuestas a estas preguntas para orientar la dirección que tomo cuando construyo un modelo, sobre todo para intentar extraer más datos que pueda utilizar o para concentrarme en intentar perfeccionar el modelo.

Estoy de acuerdo con Stephan en que, por lo general, la mejor manera de hacerlo es preguntar a un experto en la materia.

2 votos

En realidad, tu respuesta se contradice con la de @StephanKolassa, que hace referencia a la literatura que sugiere que los puntos de referencia de las previsiones son bastante engañosos.

5 votos

@Tim: la verdad es que ese enlace iba a un artículo sobre puntos de referencia que escribí yo mismo. No obstante, mantengo mis conclusiones: todos los puntos de referencia sobre la precisión de la previsión de la demanda que he visto comparan muy probablemente manzanas con naranjas. Por lo tanto, soy un poco escéptico a la hora de buscar puntos de referencia externos. Además, creo que esta respuesta plantea un poco la cuestión. Una vez que tu algoritmo de ML mejora "lo más conocido", ¿cómo sabes si puedes mejorarlo aún más, o si hemos alcanzado la meseta de la desesperanza?

2 votos

Mi caso de uso más reciente fue bastante diferente. Intentaba predecir quiénes corrían el riesgo de suicidarse a partir de sus publicaciones en Internet. Hay varias pruebas psicométricas que se pueden utilizar para medir la gravedad de la depresión, como el PHQ9. Como se trata de una prueba médica ampliamente utilizada, hay muchos trabajos sobre su validez y fiabilidad, como "The PHQ-9 Validity of a brief depression severity measure". Me pareció que la fiabilidad y otras medidas de ese trabajo eran un buen punto de partida para los resultados probables que se podrían conseguir con el aprendizaje automático.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X