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


207

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

Te enfrentas a un gran conjunto de datos multivariado y tienes una comprensión bastante borrosa. Lo que debe hacer es hacer predicciones sobre alguna variable basada en lo que tiene. Como de costumbre, limpia los datos, mira estadísticas descriptivas, ejecuta algunos modelos, los valida de forma cruzada, etc., pero después de varios intentos, yendo y viniendo y probando múltiples modelos, nada parece funcionar y sus resultados son miserables. Puede pasar horas, días o semanas en tal problema ...

La pregunta es: ¿cuándo parar? ¿Cómo sabe que sus datos son realmente inútiles y que todos los modelos sofisticados no le harían más bien que predecir el resultado promedio para todos los casos o alguna otra solución trivial?

Por supuesto, este es un problema de capacidad de predicción, pero que yo sepa, es difícil evaluar la capacidad de predicción para datos multivariados antes de intentar algo en él. ¿O estoy equivocado?

Descargo de responsabilidad: esta pregunta se inspiró en esta ¿ Cuándo debo dejar de buscar un modelo? eso no atrajo mucha atención. Sería bueno tener una respuesta detallada a dicha pregunta como referencia.


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

3
¿Esto suena similar al clásico problema de detención de la informática? Supongamos que tiene algún algoritmo A de complejidad arbitraria que busca datos de entrada D en busca de modelos predictivos, y el algoritmo se detiene cuando encuentra un modelo "bueno" para los datos. Sin agregar una estructura significativa en A y D, no veo cómo podría saber si A alguna vez detendrá la entrada D, ¿cómo puede saber si A finalmente tendrá éxito o continuará buscando para siempre?
Matthew Gunn

@ Superbest puede ser ambos. Si tiene algo que agregar, no dude en responder. Nunca escuché del teorema que establezca algo sobre el manejo de datos ruidosos multidimensionales de la vida real, pero si conoce uno que aplique, entonces me interesaría leer su respuesta.
Tim

3
Según la respuesta de @ StephenKolassa, otra pregunta que podría derivar de esta es '¿En qué punto debería llevar mi trabajo tan lejos a los expertos en la materia y discutir mis resultados (o falta de resultados)?'
Robert de Graaf

Respuestas:


240

Previsibilidad

Tienes razón en que esta es una cuestión de previsibilidad. Ha habido algunos artículos sobre previsibilidad en la revista Foresight del IIF orientada a profesionales . (Divulgación completa: soy editor asociado).

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

Algunos ejemplos

Supongamos que tiene una serie temporal como esta pero no habla alemán:

huevos

¿Cómo modelaría el gran pico en abril y cómo incluiría esta información en cualquier pronóstico?

A menos que supiera que esta serie temporal es la venta de huevos en una cadena de supermercados suiza, que alcanza su punto máximo justo antes del calendario occidental de Pascua , no tendría la oportunidad. Además, con la Pascua moviéndose alrededor del calendario por hasta seis semanas, cualquier pronóstico que no incluya la fecha específica de Pascua (suponiendo, por ejemplo, que esto fue solo un pico estacional que se repetiría en una semana específica el próximo año) probablemente estaría muy mal.

Del mismo modo, suponga que tiene la línea azul a continuación y desea modelar lo que sucedió el 28-02-2010 de manera tan diferente de los patrones "normales" el 27-02-2010:

juego de hockey

Una vez más, sin saber qué sucede cuando una ciudad llena de canadienses ve un partido olímpico de final de hockey sobre hielo en la televisión, no tienes ninguna posibilidad de entender lo que sucedió aquí, y no podrás predecir cuándo volverá a ocurrir algo como esto.

Finalmente, mira esto:

parte aislada

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

Hasta el día de hoy, no sé qué sucedió ese día con ventas de 500. Mi mejor conjetura es que algunos clientes pre-ordenaron una gran cantidad de cualquier producto que fuera y lo recogieron. Ahora, sin saber esto, cualquier pronóstico para este día en particular estará muy lejos. Por el contrario, suponga que esto sucedió justo antes de Pascua, y tenemos un algoritmo tonto e inteligente que cree que esto podría ser un efecto de Pascua (¿tal vez son huevos?) Y pronostica felizmente 500 unidades para la próxima Pascua. Oh, eso podría salir mal.

Resumen

En todos los casos, vemos cómo la capacidad de predicción solo puede entenderse bien una vez que tenemos una comprensión suficientemente profunda de los factores probables que influyen en nuestros datos. El problema es que, a menos que conozcamos estos factores, no sabemos que tal vez no los conozcamos. Según Donald Rumsfeld :

[T] aquí se conocen conocidos; Hay cosas que sabemos que sabemos. También sabemos que hay incógnitas conocidas; es decir, sabemos que hay algunas cosas que no sabemos. Pero también hay incógnitas desconocidas, las que no sabemos que no sabemos.

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

La única forma de manejarlos es reunir conocimiento de dominio.

Conclusiones

Saco tres conclusiones de esto:

  1. Usted siempre tiene que incluir el conocimiento de dominio de la modelización y predicción.
  2. Incluso con conocimiento de dominio, no se garantiza que obtenga suficiente información para que sus pronósticos y predicciones sean aceptables para el usuario. Mira eso fuera de lugar arriba.
  3. Si "sus resultados son miserables", puede estar esperando más de lo que puede lograr. Si pronostica un lanzamiento de moneda justo, entonces no hay forma de obtener una precisión superior al 50%. Tampoco confíe en los puntos de referencia de precisión del pronóstico externo.

La línea de fondo

Así es como recomendaría construir modelos, y notar cuándo parar:

  1. Hable con alguien con conocimiento de dominio si aún no lo tiene.
  2. Identifique los principales impulsores de los datos que desea pronosticar, incluidas las interacciones probables, según el paso 1.
  3. Cree modelos de forma iterativa, incluidos los impulsores en orden decreciente de fuerza según el paso 2. Evalúe los modelos mediante validación cruzada o una muestra reservada.
  4. Si la precisión de su predicción no aumenta más, vuelva al paso 1 (por ejemplo, identificando predicciones erróneas evidentes que no puede explicar y discutiéndolas con el experto del dominio), o acepte que ha llegado al final de su capacidades de los modelos. Time-boxing su análisis de antemano ayuda.

Tenga en cuenta que no estoy abogando por probar diferentes clases de modelos si su modelo original se estabiliza. Por lo general, si comenzó con un modelo razonable, el uso de algo más sofisticado no generará un gran beneficio y simplemente puede estar "sobreajustado en el conjunto de prueba". He visto esto a menudo, y otras personas están de acuerdo .


10
+1 por una respuesta maravillosa con la que estoy totalmente de acuerdo. No lo estoy aceptando (todavía) ya que todavía espero otras respuestas ya que el problema es amplio.
Tim

1
Seguro. ¡Me encantaría ver la perspectiva de alguien más sobre esto también!
Stephan Kolassa

99
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.. Dijiste todo allí.
Walfrat

3
Con el conocimiento del dominio, puede agregar nuevas funciones a los dos primeros casos (por ejemplo, tiempo hasta Pascua y números de visualización de TV, aunque este último necesita un pronóstico propio) para obtener mejores resultados. En ninguno de los casos la situación es desesperada. La parte realmente interesante es cómo distinguir el conocimiento de dominio faltante de un conjunto de datos de lanzamientos de monedas justos.
Karolis Juodelė

44
@ KarolisJuodelė: ese es exactamente mi punto. Ni siquiera podemos saber cuándo nuestra situación es desesperada, a menos que hablemos con un experto ... y luego, a veces el experto tampoco puede ayudarnos, y hay "incógnitas desconocidas" para los expertos, que posiblemente alguien más podría saber.
Stephan Kolassa

57

La respuesta de Stephan Kolassa es excelente, pero me gustaría agregar que a menudo también existe una condición de parada económica:

  1. Cuando estás haciendo ML para un cliente y no por diversión, debes echar un vistazo a la cantidad de dinero que el cliente está dispuesto a gastar. Si le paga a su empresa 5000 € y usted pasó un mes buscando un modelo, perderá dinero. Suena trivial, pero he visto "¡debe haber una solución!", Un pensamiento que condujo a enormes sobrecostos. Así que deténgase cuando no haya dinero y comunique el problema a su cliente.
  2. Si ha realizado algún trabajo, a menudo tiene la sensación de que es posible con el conjunto de datos actual. Intente aplicar eso a la cantidad de dinero que puede ganar con el modelo, si la cantidad es trivial o neta negativa (por ejemplo, debido al tiempo para recopilar datos, desarrollar una solución, etc.), debe detenerse.

Como ejemplo: teníamos un cliente que quería predecir cuándo se romperían sus máquinas. Analizamos los datos existentes y encontramos esencialmente ruido. Investigamos el proceso y descubrimos que los datos más críticos no se registraron y fueron muy difíciles de recopilar. Pero sin esos datos, nuestro modelo era tan pobre que nadie lo habría usado y fue enlatado.

Si bien me concentré en la economía cuando trabajé en un producto comercial, esta regla también se aplica a la academia o para proyectos divertidos: si bien el dinero es menos preocupante en tales circunstancias, el tiempo sigue siendo un bien escaso. P.ej. en la academia deberías dejar de trabajar cuando no produzcas resultados tangibles y tengas otros proyectos más prometedores que puedas hacer. Pero no descarte ese proyecto: publique también resultados nulos o "necesita más / otros datos", ¡también son importantes!


1
¡+1 definitivamente es un gran punto! Creo que todas las respuestas a esta pregunta pueden parecer "obvias", pero no he visto en ninguna parte todas esas cosas "obvias" reunidas como referencia.
Tim

3
Por cierto, esta regla de detención se aplica también a casos no comerciales: por ejemplo, si realiza algún tipo de investigación, entonces nuestros resultados también tienen un valor abstracto y el análisis continuo "sin esperanza" también es razonable solo hasta que el valor de su análisis supere lo que usted podría haber hecho en su lugar. De hecho, este argumento teórico de decisión puede hacerse más general.
Tim

2
Creo que "nadie habría usado ist y fue enlatado" probablemente debería cambiarse a "nadie lo hubiera usado y fue enlatado". ¿Era este su significado?
Silverfish

2
Gracias. Diría que no se trata solo del tiempo, sino del hecho de que podría invertir el tiempo de manera diferente. En su lugar, podría trabajar en un proyecto de investigación sobre otro medicamento para salvar vidas que le ahorraría tiempo, pero también el público se beneficiará de los resultados, etc.
Tim

2
@ChristianSauer En mi experiencia como ingeniero, el problema de un desajuste entre los sensores (cf indicadores) y un propósito útil probablemente sea anterior a la invención del transistor.
Robert de Graaf

9

Hay otra manera Pregúntese -

  1. ¿Quién o qué hace los mejores pronósticos posibles de esta variable en particular? "
  2. ¿Mi algoritmo de aprendizaje automático produce mejores o peores resultados que los mejores pronósticos?

Entonces, por ejemplo, si tuviera una gran cantidad de variables asociadas con diferentes equipos de fútbol y estuviera tratando de pronosticar quién ganaría, podría ver las probabilidades de las casas de apuestas o alguna forma de predicción de fuentes múltiples para comparar con los resultados de su aprendizaje automático algoritmo. Si está mejor, podría estar en el límite, si es peor, claramente hay margen de mejora.

Su capacidad de mejorar depende (en términos generales) de dos cosas:

  1. ¿Está utilizando los mismos datos que el mejor experto en esta tarea en particular?
  2. ¿Está utilizando los datos tan eficazmente como el mejor experto en esta tarea en particular?

Depende exactamente de lo que estoy tratando de hacer, pero tiendo a usar las respuestas a estas preguntas para orientarme en la dirección en la que construyo un modelo, particularmente si intentar extraer más datos que pueda usar o concentrarme en ellos. tratando de refinar el modelo.

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


1
En realidad, su respuesta contradice la respuesta de @StephanKolassa donde se refiere a la literatura que sugiere que los puntos de referencia de pronóstico son bastante engañosos.
Tim

1
@Tim: divulgación completa: ese enlace fue a un artículo sobre puntos de referencia que escribí yo mismo. Sin embargo, mantengo mis conclusiones: todos los puntos de referencia de precisión de predicción de demanda que he visto muy probablemente comparan manzanas con naranjas. Por lo tanto, soy un poco escéptico sobre mirar referencias externas. Además, creo que esta respuesta plantea un poco la pregunta. Una vez que su algoritmo de ML mejore en "el más conocido", ¿cómo sabe si puede mejorarlo más o si hemos logrado La meseta de la desesperanza?
Stephan Kolassa

1
Mi caso de uso más reciente fue bastante diferente. Estaba tratando de predecir quién estaba en riesgo de suicidarse por sus publicaciones en Internet. Existen varias pruebas psicométricas que se pueden usar para medir la gravedad de la depresión, como el PHQ9. Como se trata de una prueba médica ampliamente utilizada, existe un trabajo considerable sobre su validez y fiabilidad, como "La validez PHQ-9 de una medida breve de gravedad de la depresión". Encontré que la fiabilidad y otras medidas en ese documento son un buen punto de partida en cuanto a los resultados probables que uno podría obtener del aprendizaje automático.
Gavin Potter

1
Tiene razón, por supuesto, sobre mejorar el "más conocido", no hay forma de saber si continuará buscando un modelo mejor. Pero en mi experiencia, es bastante raro que esto ocurra en una situación del mundo real. La mayor parte del trabajo que hago parece ser sobre tratar de aplicar juicios de expertos a escala mediante el uso del aprendizaje automático y no tratar de mejorar al mejor experto en el campo.
Gavin Potter
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.