¿Qué es un flujo de trabajo general para abordar un problema de aprendizaje automático?

Hola !

Si bien estoy de acuerdo con la mayoría de este flujo, aquí hay algunas cosas que es posible que desee considerar.

  1. Es indispensable comprender el problema en cuestión. Nunca es como “aquí hay algunos datos, ¡aquí hay una red neuronal y bam!”. Sugeriría comprender el contexto comercial y el problema de adentro hacia afuera antes de llegar a los datos. Pase tiempo de calidad aquí.
  2. El ejercicio no tiene sentido si no tiene suficientes datos. Datos más que suficientes lo que desea tener en cuenta es “datos de calidad”. Siempre tenga una lista de compras de datos cuando discuta / comprenda el problema comercial. Rastrea cantidad y calidad.
  3. Antes de comenzar el proceso de ML, verifique si es necesario. La mayoría de las veces, un motor simple basado en reglas funcionaría mejor que un modelo ML sofisticado. Seleccione siempre el problema donde el resultado no puede derivarse implícitamente a través de reglas.
  4. Antes de la preparación de datos, pase un tiempo con estadísticas descriptivas. Explorar y comprender los datos es crucial para realizar una ingeniería de características adecuada. Sugiero realizar rigurosas pruebas de hipótesis sobre los datos disponibles, ya que los datos que tiene a mano son siempre una muestra y nunca coincidirán con la población.
  5. Si tiene un buen presupuesto, intente ejecutar simulaciones para comprender cómo interactúan los diferentes componentes de datos entre sí. La mayoría de las veces explicará más que su comprensión del problema en cuestión.
  6. Las características deben derivarse principalmente de un contexto empresarial, un contexto estadístico descriptivo y no de un contexto de LD. Cree funciones que se puedan relacionar desde el contexto empresarial. Si ha ejecutado simulaciones, asegúrese de contar con un ingeniero con esa interacción en mente.
  7. Limpie sus datos tanto como sea posible para reducir el esfuerzo del modelo ML. Recentrar, reescalar, imputar son cosas que reducen el calor del modelo ML y lo ayudarían a converger mejor.
  8. Cuando se trata de capacitación * siempre * divida sus datos de manera homogénea en capacitación, prueba y validación. Centrarse en homogéneamente.
  9. Seleccionar un modelo ML nunca es el acto de tirar espagueti a la pared y verificar qué se pega. Siempre pagará seleccionar un modelo con el equilibrio de sesgo y variación apropiado. El modelo será sostenible y solo continuará evolucionando.
  10. Para el ajuste del parámetro Hyper del modelo ML, confíe siempre en la validación cruzada que las reglas generales.
  11. Pruebe no solo la precisión, sino también la sensibilidad y la especificidad.

Espero que esto ayude !

Me gusta tu diagrama de flujo. Muestra la parte de aprendizaje automático de un proyecto de ciencia de datos.

Supongo que la línea de puntos entre la ingeniería de características y la reducción de dimensionalidad indica que esto último no siempre es necesario. Si ese es el caso, estoy totalmente de acuerdo con su diagrama de flujo. Por supuesto, no todos los problemas de aprendizaje automático se pueden resolver de esta manera, pero es el patrón más común con diferencia.

Puede ampliarlo para incluir todos los aspectos de un proyecto de ciencia de datos. Este es el proceso estándar de la industria cruzada para la minería de datos , conocido como CRISP-DM . Como se puede deducir de su nombre, ha existido desde antes de que el término aprendizaje automático fuera incluso una cosa. Fue concebido a mediados de los 90 y todavía se considera un estándar de la industria para la ciencia de datos.

Su diagrama de flujo es básicamente todo lo que sucede entre la preparación de datos y la evaluación. Entonces ahí tienes tu respuesta. Si las pruebas muestran resultados insuficientes, probablemente significa que no entendió el problema comercial y los datos correctamente. El enfoque recomendado es volver al tablero de dibujo e intentar comprender mejor el problema comercial.

Me gusta la claridad y simplicidad de su gráfico. Como alguien que dirige proyectos de ML, no me codifico, agregaría otra pieza. Esto es más el lado “comercial” de las cosas si lo desea, no estrictamente el trabajo de ingeniería:

  • Antes de la preparación de datos, debe dedicar más tiempo a la cuestión empresarial. Eso requiere una visión general rápida de los datos y producir imágenes . Obtener las imágenes correctas es una disciplina en sí misma. Además, en un entorno empresarial, debe producir una “carta” de lo que puede esperar, lo que se necesitará. Una representación visual de los datos es esencial para eso. Las personas están familiarizadas con la documentación formal que viene con el desarrollo de software o proyectos ERP. Se sentirán más cómodos con un proyecto de ML si les das algunas anclas. Incluso si haces cosas como las competencias de Kaggle, los elementos visuales son esenciales, ya que estás trabajando en un dominio totalmente nuevo. Consulte aquí para ver un ejemplo: “Ponerse en forma para el deporte de la ciencia de datos” – Charla de Jeremy Howard
  • Misma razón al final del ciclo. Debe comunicar sus resultados para desencadenar acciones de la gente de negocios. El ejercicio consiste en voltear el guión y centrarse en la recomendación, dejando los detalles técnicos para el apéndice. Eso no es natural para un científico de datos. Puede subestimarse, pero en el mundo real esto es vital. El rigor es esencial, pero en términos de comunicación, no desea comenzar con los resultados de las validaciones cruzadas. En principio, esta es responsabilidad del experto en el dominio, pero no descarte esta fase incluso para un proyecto más pequeño. Nuevamente, el trabajo es principalmente con imágenes. Puedes consultar este artículo y la entrevista de Pamela Peele directamente. Elogio de los “cuantos ligeros” y los “traductores analíticos”

Esta es una buena abstracción de diagrama de flujo. Los flujos de trabajo científicos a menudo se intercambian por productividad. Hay un montón de documentos y artículos sobre esto para tratar de mejorar el conocimiento sobre ellos, incluidas las estadísticas sobre el proceso en sí, el método bajo metodología. El contexto puede ser de investigación o industrial o ambos. Cuando se trata de gobernanza, necesitan informes para evitar ir de lado y la implementación puede implicar pruebas.

Si el modelo es una recomendación de un experto, van a querer saber si encaja en la organización o si va a requerir cambios o debe ser subcontratado. Hay todo tipo de decisiones sobre qué recursos implementar, como equipos, herramientas, centros de datos, etc. La gran organización termina haciendo sus propios procesadores, por ejemplo. Por lo tanto, el estilo de la operación será una salida y transmitirán anuncios internamente o a la prensa, así como posiblemente lanzarán bases de códigos.

Si la escala de datos es enorme, entonces puede haber un grupo separado que los reúna y los ajuste como un servicio para que esto pueda dividirse y asignarse a diferentes áreas. Esto también supone que han definido el problema y que no van a estar comiendo datos de todas partes. Los sabores de las redes neuronales pueden adaptarse mejor a algunos usos, como la visión, el habla o los juegos, convolucionales, recurrentes o profundos, etc.

En algún momento, los sistemas se dirigen a tener su propio idioma, pero algunos tienen productos dedicados para esto como WhizML. ¿Cómo seleccionan proveedores y soporte? Lugares como IBM, Google, Facebook y otros, van a querer poner sus propias ofertas en el medio. Alguien está tomando decisiones de ganancias bajo la tecnología de gestión. Ciclo de vida o continuo. Métrica. Tiempo y esfuerzo en cada parte. ¿Qué sucede si tienen menos humanos y más máquinas, o viceversa? ¿Cómo lo usan los clientes? ¿Qué es la eficiencia energética? O pueden lanzar tantos experimentadores como sea posible por un tiempo. O conviértalo en un concurso de dominio público. ¿Para qué están anotando? ¿Cómo se asignan los flujos de trabajo a un gráfico de líneas de investigación? El objetivo es a menudo la automatización y, finalmente, la inteligencia general.

Mi enfoque del aprendizaje automático (ML) es muy diferente del enfoque convencional, pero me ha funcionado.

  1. Después del entrenamiento, ejecuto el modelo en el Training Set (TS) original. Entonces investigo los falsos positivos (FP) y los falsos negativos (FN) para ver si las etiquetas son incorrectas y corregirlas. Trato de ver por qué estaban mal etiquetados. Si la etiqueta es correcta:
  1. entonces trato de encontrar ejemplos de TS adicionales que sean similares pero no iguales. Esto obliga al ML a tener en cuenta estos puntos de datos.
  2. luego trato de ver si hay alguna característica que pueda construir que pueda ayudar al ML a determinar correctamente estos FP / FN.
  • Ejecuto el modelo en algunos datos aleatorios y verifico al azar para ver si hay clasificaciones anómalas. (Tal vez no sea fácil de hacer, dependiendo de sus datos). Si esos son FP / FN, entonces aplico los pasos 1a y 1b.
  • Miro los ejemplos de TS o los ejemplos aleatorios que tienen una puntuación en el rango crepuscular de 0.4 a 0.6. Esto significa que el ML está “confundido”. Miro estos casos para ver si los casos son realmente ambiguos. Si, de hecho, los casos son realmente ambiguos, no los agrego al TS porque eso daría una falsa impresión de que estos casos tienen más información de la que realmente tiene. Si el caso se puede asignar a una clase, entonces agrego ese caso al caso apropiado. Y repita los pasos 1a y 1b.
  • También me gusta usar Árboles porque puedes obtener una importancia variable de ellos. Luego miro las características más importantes y trato de encontrar ejemplos de TS que vayan en contra de cómo podría esperar que la característica funcione. Esto obliga al algoritmo ML a dejar de depender tanto de una característica, lo que resulta en un modelo más sofisticado.
  • Diría que la ingeniería de características y la reducción de dimensionalidad son parte de la preparación de datos. Mi visión:

    Preparación de datos (incluyendo ingeniería de características y reducción de dimensionalidad).

    Formación.

    Validación cruzada / Ajuste del modelo para obtener la versión optimizada del mismo.

    Prueba.

    Después de la prueba, vuelve a la preparación de datos o al entrenamiento, según lo que haga a continuación. Si otros modelos funcionan con los mismos datos, puede repetir directamente el flujo para el nuevo modelo. Si trabajan con diferentes estructuras de datos, entonces vaya a la preparación de datos como un paso.

    También puede incluir un paso al final que es para comparar los resultados dados por diferentes modelos optimizados que ha creado. En este paso, elige el modelo con mejor rendimiento de todos los modelos que ha realizado.