En el aprendizaje automático, ¿cómo podemos interpretar una situación en la que los errores de entrenamiento y prueba son altos? ¿Qué debemos informar a nuestros clientes?

Nota: Disculpe mi contenido un tanto frívolo. Estoy seguro de que puede formatearlo más formalmente en su mente mientras lee.

Bien dado que no hay demasiados detalles que tengo sobre el conjunto de datos, la declaración del problema o el dominio, responderé de la manera más general posible. Puede informar (después de la debida exploración) algunos de los siguientes a sus clientes:

  1. La definición del problema apesta: el problema que usted (o nosotros) hemos definido está mal formado y no puede resolverse, dados los conjuntos de datos o modelos o metodología existentes.
  2. La metodología apesta: la metodología que hemos planeado se ve bien en el papel, pero está fallando en la práctica debido a suposiciones o lógica inadecuadas durante una o muchas de sus partes.
  3. Nuestra limpieza de datos apesta (también conocida como, los datos apestan): no hemos estado normalizando, estandarizando, muestreando, reemplazando valores perdidos, balance de clase, etc., los datos correctamente y está afectando la parte posterior de la tubería de modelado. También cae en esta categoría lo temido simplemente no tenemos suficientes datos !!
  4. Nuestro módulo de extracción de características apesta: las características que estamos extrayendo no son adecuadas para la tarea en cuestión. Estamos extrayendo características terribles y está jugando con la predicción.
  5. Nuestro modelo apesta: utilizamos un modelo que es demasiado complicado o injustificable dados los datos, y terminamos sin poder ajustar el modelo.

Creo que probablemente pueda decirle a sus clientes alguna permutación de lo anterior.

O tal vez su equipo debería analizar primero los problemas anteriores, teniendo en cuenta que los clientes podrían no tener experiencia en aprendizaje automático o minería de datos.

En una nota seria, aunque estos errores de entrenamiento y prueba son altos, sugiere que no se trata de un sobreajuste. Más bien es probablemente un caso de falta de equipamiento. Si aún no lo ha hecho, le sugiero que explore el conjunto de datos y la declaración del problema para ver si su tarea es predecible Y si es predecible dado su modelo actual.

Eso simplemente significa que necesita cambiar su algoritmo, posiblemente … (u) obtener más funciones para su conjunto de datos (o) Simplemente necesita ejecutar el optimizador el tiempo suficiente para disminuir los errores (o) Simplemente ha ponderado el regularizador tanto que no permite que el sistema converja, por lo que solo necesita reducir su peso.

Cambiar el algoritmo puede ayudar en caso de que la no linealidad sea el problema. Diga SVM en lugar de regresión logística. Redes profundas en lugar de una red de una sola capa, etc. También puede experimentar con funciones de activación (RelU o Sigmoid) con redes neuronales.