Dependencias de datos

Los datos son tan importantes para los desarrolladores de AA como el código para los programadores tradicionales. Esta lección se centra en los tipos de preguntas que debes hacerte sobre los datos.

Dependencias de datos

  • Los datos de entrada (atributos) determinan el comportamiento del sistema de AA.
    • Escribimos pruebas de unidades para bibliotecas de software, pero ¿qué sucede con los datos?
  • Se debe tener cuidado al elegir los indicadores de entrada.
    • ¿Quizás necesites más cuidado que al decidir de qué bibliotecas de software depender?
  • Confiabilidad
    • ¿Qué sucede cuando la señal no está disponible? ¿Lo sabría?
  • Confiabilidad
    • ¿Qué sucede cuando la señal no está disponible? ¿Lo sabría?
  • Control de versiones
    • ¿El sistema que calcula esta señal cambia alguna vez? ¿Con qué frecuencia? ¿Qué sucedería?
  • Confiabilidad
    • ¿Qué sucede cuando la señal no está disponible? ¿Lo sabría?
  • Control de versiones
    • ¿El sistema que calcula esta señal cambia alguna vez? ¿Con qué frecuencia? ¿Qué sucedería?
  • Necesidad
    • ¿La utilidad de la señal justifica el costo de incluirlo?
  • Correlaciones
    • ¿Algunas de las señales de entrada están tan vinculadas que necesitamos estrategias adicionales para separarlas?
  • Correlaciones
    • ¿Algunas de las señales de entrada están tan vinculadas que necesitamos estrategias adicionales para separarlas?
  • Ciclos de reacción
    • ¿Cuáles de los indicadores de entrada pueden verse afectados por los resultados del modelo?

Resumen de la clase en video

El comportamiento de un sistema de AA depende del comportamiento y la calidad de sus atributos de entrada. A medida que cambien los datos de entrada para esos atributos, tu modelo también. A veces, ese cambio es conveniente, pero otros no.

En el desarrollo de software tradicional, te enfocas más en el código que en los datos. En el desarrollo del aprendizaje automático, aunque la codificación sigue siendo parte del trabajo, tu enfoque debe ampliarse para incluir datos. Por ejemplo, en los proyectos de desarrollo de software tradicionales, se recomienda escribir pruebas de unidades para validar el código. En los proyectos de AA, también debes probar, verificar y supervisar tus datos de entrada de forma continua.

Por ejemplo, debes supervisar tu modelo de forma continua para quitar las funciones que no se usan (o que se usan poco). Imagina un determinado atributo que contribuyó poco o nada al modelo. Si los datos de entrada de ese atributo cambian abruptamente, el comportamiento de tu modelo también puede cambiar de forma no deseada.

Confiabilidad

Preguntas para hacer sobre la confiabilidad de sus datos de entrada:

  • ¿La señal siempre estará disponible o proviene de una fuente que no es confiable? Por ejemplo:
    • ¿La señal proviene de un servidor que falla cuando hay muchas cargas?
    • ¿La señal proviene de personas que se van de vacaciones todos los meses de agosto?

Control de versiones

Preguntas para hacer sobre el control de versiones:

  • ¿El sistema que calcula estos datos cambia alguna vez? Si es así, haz lo siguiente:
    • ¿Con qué frecuencia?
    • ¿Cómo sabré cuando cambie ese sistema?

A veces, los datos provienen de un proceso ascendente. Si ese proceso cambia de forma abrupta, el modelo puede verse afectado.

Considera crear tu propia copia de los datos que recibes del proceso ascendente. Luego, solo avanza a la siguiente versión de los datos ascendentes cuando estés seguro de que es seguro hacerlo.

Necesidad

La siguiente pregunta podría recordarte sobre la regularización:

  • ¿La utilidad de la función justifica el costo de incluirla?

Siempre es tentador agregar más atributos al modelo. Por ejemplo, supongamos que encuentras un atributo nuevo cuya adición hace que el modelo sea un poco más preciso. Más exactitud parece mucho mejor que menos exactitud. Sin embargo, acabas de agregar una carga de mantenimiento. Esa característica adicional podría degradarse de forma inesperada, por lo que debes supervisarla. Piensa detenidamente antes de agregar atributos que generen pequeñas ganancias a corto plazo.

Correlaciones

Algunos atributos se correlacionan (de forma positiva o negativa) con otros. Hazte la siguiente pregunta:

  • ¿Hay funciones tan vinculadas que se necesitan estrategias adicionales para separarlas?

Ciclos de reacción

A veces, un modelo puede afectar sus propios datos de entrenamiento. Por ejemplo, los resultados de algunos modelos, a su vez, son atributos de entrada directos o indirectos de ese mismo modelo.

A veces, un modelo puede afectar a otro. Por ejemplo, considera dos modelos para predecir los precios de las acciones:

  • El modelo A es incorrecto.
  • Modelo B.

Como el modelo A tiene errores, por error decide comprar acciones en la acción X. Esas compras aumentan el precio de la Acción X. El Modelo B usa el precio de la Acción X como atributo de entrada, por lo que el Modelo B puede llegar fácilmente a algunas conclusiones falsas sobre el valor de las acciones de la Acción X. Por lo tanto, el Modelo B podría comprar o vender acciones de la Acción X, según el comportamiento con fallas del Modelo A. El comportamiento del modelo B, a su vez, puede afectar al modelo A, lo que posiblemente desencadene una tulipomanía o una diapositiva en las acciones de la empresa X.