Organizando la estructura de los cambios en el conjunto de datos

Organizando cambios en datos

Tomando un paso atrás sobre las causas de la degradación del modelo

En colaboración con Marco Dalla Vecchia como creador de imágenes

Entrenamos modelos y los utilizamos para predecir ciertos resultados dados un conjunto de entradas. Todos sabemos que es el juego de ML. Sabemos bastante sobre cómo entrenarlos, tanto es así que ahora han evolucionado hacia la IA, el mayor nivel de inteligencia que jamás haya existido. Pero cuando se trata de utilizarlos, no estamos tan avanzados, y seguimos explorando y comprendiendo cada aspecto que importa después de que los modelos se implementan.

Así que hoy, discutiremos el problema de la deriva en el rendimiento del modelo (o simplemente deriva del modelo), también conocido frecuentemente como fallo del modelo o degradación del modelo. A lo que nos referimos es al problema de la calidad de las predicciones que nuestro modelo de ML ofrece. Ya sea una clase o un número, nos importa la diferencia entre esa predicción y cuál sería la clase o el valor real. Hablamos de deriva en el rendimiento del modelo cuando la calidad de esas predicciones disminuye en comparación con el momento en que implementamos el modelo. Puede que haya encontrado otra terminología para este tema en la literatura, pero manténgase conmigo en deriva en el rendimiento del modelo o simplemente deriva del modelo, al menos para el propósito de nuestra conversación actual.

Lo que sabemos

Varios blogs, libros y muchos artículos han explorado y explicado los conceptos fundamentales de la deriva del modelo, así que entraremos en esta imagen actual primero. Hemos organizado las ideas principalmente en los conceptos de desplazamiento covariable, desplazamiento previo y desplazamiento condicional. Este último también se conoce comúnmente como cambio de concepto. Estos desplazamientos se conocen como las principales causas de la deriva del modelo (recuerde, una disminución en la calidad de las predicciones). Las definiciones resumidas son las siguientes:

  • Desplazamiento covariable: Cambios en la distribución de P(X) sin necesariamente tener cambios en P(Y|X). Esto significa que la distribución de las características de entrada cambia, y algunos de esos desplazamientos pueden hacer que el modelo se desvíe.
  • Desplazamiento previo: Cambios en la distribución de P(Y). Aquí, cambia la distribución de las etiquetas o la variable de salida numérica. Lo más probable es que si la distribución de probabilidad de la variable de salida cambia, el modelo actual tendrá una gran incertidumbre en la predicción dada, por lo que puede desviarse fácilmente.
  • Desplazamiento condicional (también conocido como cambio de concepto): Cambia la distribución condicional P(Y|X). Esto significa que, para una entrada dada, la probabilidad de la variable de salida ha cambiado. Hasta donde sabemos hasta ahora, este cambio generalmente nos deja muy poco margen para mantener la calidad de las predicciones. ¿Es realmente así?

Existen muchas fuentes que enumeran ejemplos de la ocurrencia de estos desplazamientos en los conjuntos de datos. Una de las principales oportunidades de investigación es detectar estos tipos de desplazamientos sin necesidad de nuevas etiquetas [1, 2, 3]. Recientemente se han publicado métricas interesantes para monitorear el rendimiento de predicción del modelo de manera no supervisada [2, 3]. Estas métricas están motivadas por los diferentes conceptos de desplazamientos en el conjunto de datos y reflejan con bastante precisión los cambios en las distribuciones de probabilidad reales de los datos. Así que vamos a sumergirnos en la teoría de estos desplazamientos. ¿Por qué? Porque tal vez haya algún orden que podamos establecer sobre estas definiciones. Al ordenar, quizás podamos avanzar más fácilmente o simplemente comprender mejor todo este marco.

Para hacer eso, volvamos al principio y hagamos una derivación lenta de la historia. Toma un café, lee despacio y quédate conmigo. ¡O simplemente, no te desvíes!

El modelo real y el modelo estimado

Los modelos de ML que entrenamos intentan acercarnos a una relación o función real, pero desconocida, que asigna una determinada entrada X a una salida Y. Naturalmente, distinguimos la relación real desconocida de la estimada. Sin embargo, el modelo estimado está sujeto al comportamiento del modelo real desconocido. Es decir, si el modelo real cambia y el modelo estimado no es robusto frente a estos cambios, las predicciones del modelo estimado serán menos precisas.

El rendimiento que podemos monitorear se refiere a la función estimada, pero las causas de la deriva del modelo se encuentran en los cambios del modelo real.

  • ¿Qué es el modelo real? El modelo real se basa en la llamada distribución condicional P(Y|X). Esta es la distribución de probabilidad de una salida dada una entrada.
  • ¿Qué es el modelo estimado? Este es una función ê(x) que específicamente estima el valor esperado de P(Y|X=x). Esta función es la que está conectada a nuestro modelo de ML.

Aquí tienes una representación visual de estos elementos:

(Imagen del autor)

Bien, ahora que hemos aclarado estos dos elementos, estamos listos para organizar las ideas detrás de los llamados cambios en los conjuntos de datos y cómo se conectan los conceptos entre sí.

La nueva disposición

La causa global del cambio en el modelo

Nuestro objetivo principal es entender las causas del cambio en el modelo para nuestro modelo estimado. Debido a que ya entendemos la conexión entre el modelo estimado y la distribución de probabilidad condicional, podemos afirmar aquí lo que ya sabíamos antes: La causa global para que nuestro modelo estimado cambie es el cambio en P(Y|X).

Básico y aparentemente fácil, pero más fundamental de lo que pensamos. Asumimos que nuestro modelo estimado es un buen reflejo del modelo real. El modelo real está gobernado por P(Y|X). Por lo tanto, si P(Y|X) cambia, es probable que nuestro modelo estimado cambie. Debemos tener en cuenta el camino que estamos siguiendo en ese razonamiento que mostramos en la figura anterior.

Ya sabíamos esto antes, ¿qué hay de nuevo? Lo nuevo es que ahora bautizamos los cambios en P(Y|X) como la causa global, no solo una causa. Esto impondrá una jerarquía con respecto a las otras causas. Esta jerarquía nos ayudará a ubicar correctamente los conceptos sobre las otras causas.

Las causas específicas: Elementos de la causa global

Sabiendo que la causa global se encuentra en los cambios en P(Y|X), se vuelve natural investigar qué elementos constituyen esta última probabilidad. Una vez que hayamos identificado esos elementos, continuaremos hablando sobre las causas del cambio en el modelo. Entonces, ¿cuáles son esos elementos?

Siempre lo hemos sabido. La probabilidad condicional se define teóricamente como P(Y|X) = P(Y, X) / P(X), es decir, la probabilidad conjunta dividida por la probabilidad marginal de X. Pero podemos descomponer la probabilidad conjunta una vez más y obtenemos la fórmula mágica que hemos conocido desde hace siglos:

(Imagen del autor)

¿Ya ves hacia dónde vamos? La probabilidad condicional es algo que está completamente definido por tres elementos:

  • P(X|Y): La probabilidad condicional inversa
  • P(Y): La probabilidad previa
  • P(X): La probabilidad marginal de las covariables

Debido a que estos son los tres elementos que definen la probabilidad condicional P(Y|X), estamos listos para hacer una segunda afirmación: Si P(Y|X) cambia, esos cambios provienen al menos de uno de los tres elementos que lo definen. Dicho de otra manera, los cambios en P(Y|X) están definidos por cualquier cambio en P(X|Y), P(Y) o P(X).

Dicho esto, hemos ubicado los otros elementos de nuestro conocimiento actual como causas específicas del cambio en el modelo en lugar de simplemente causas paralelas a P(Y|X).

Volviendo al comienzo de esta publicación, mencionamos el cambio en las covariables y el cambio previo. Observamos, entonces, que hay otra causa específica: los cambios en la distribución condicional inversa P(X|Y). Normalmente encontramos alguna mención de esta distribución al hablar de los cambios en P(Y) como si en general estuviéramos considerando la relación inversa de Y a X [1,4].

La nueva jerarquía de conceptos

(Imagen del autor)

Ahora podemos hacer una comparación clara entre el pensamiento actual sobre estos conceptos y la jerarquía propuesta. Hasta ahora, hemos estado hablando acerca de las causas del cambio en el modelo identificando diferentes distribuciones de probabilidad. Las tres distribuciones principales, P(X), P(Y) y P(Y|X), se sabe que son las principales causas del cambio en la calidad de las predicciones devueltas por nuestro modelo de aprendizaje automático.

La vuelta de tuerca que propongo aquí impone una jerarquía en los conceptos. En ella, la causa global del desvío de un modelo que estima la relación X -> Y son los cambios en la probabilidad condicional P(Y|X). Esos cambios en P(Y|X) pueden provenir de cambios en P(X), P(Y) o P(X|Y).

Vamos a enumerar algunas de las implicancias de esta jerarquía:

  • Podríamos tener casos donde P(X) cambia, pero si P(Y) y P(X|Y) también cambian en consecuencia, entonces P(Y|X) permanece igual.
  • También puede haber casos donde P(X) cambia, pero si P(Y) o P(X|Y) no cambian en consecuencia, P(Y|X) cambiará. Si has pensado en este tema antes, probablemente hayas visto que en algunos casos podríamos ver que X cambia y esos cambios no parecen completamente independientes de Y|X, por lo que al final también cambia Y|X. Aquí, P(X) es la causa específica de los cambios en P(Y|X), que a su vez es la causa global de que nuestro modelo se desvíe.
  • Las dos afirmaciones anteriores también son ciertas para P(Y).

Debido a que las tres causas específicas pueden cambiar o no de manera independiente, en general, los cambios en P(Y|X) pueden explicarse por los cambios en estos elementos específicos en conjunto. Puede ser porque P(X) se movió un poco aquí, y P(Y) se movió un poco allá, luego esos dos también hacen que P(X|Y) cambie, lo que al final hace que P(Y|X) cambie en conjunto.

No hay que pensar en P(X) y P(Y|X) de forma independiente, P(X) es una causa de P(Y|X)

¿Dónde se encuentra el modelo ML estimado en todo esto?

Ok, ahora sabemos que los llamados cambios de covariable y cambios previos son causas del cambio condicional en lugar de ser paralelos a él. Los cambios condicionales abarcan el conjunto de causas específicas para la degradación del rendimiento de predicción del modelo estimado. Pero el modelo estimado es más bien un límite de decisión o una función, no realmente una estimación directa de las probabilidades en juego. Entonces, ¿qué significan las causas para los límites de decisión reales y estimados?

Reunamos todas las piezas y tracemos el camino completo que conecta todos los elementos:

(Imagen del autor)

Ten en cuenta que nuestro modelo ML puede ser analítico o numérico. Además, puede ser una representación paramétrica o no paramétrica. Entonces, al final, nuestros modelos ML son una estimación del límite de decisión o función de regresión que podemos derivar del valor condicional esperado.

Este hecho tiene una implicancia importante para las causas que hemos estado discutiendo. Si bien la mayoría de los cambios que ocurren en P(X), P(Y) y P(X|Y) implicarán cambios en P(Y|X) y, por lo tanto, en E(Y|X), no todos necesariamente implicarán un cambio en el límite de decisión o función real. En ese caso, el límite de decisión o función estimada seguirá siendo válido si originalmente ha sido una estimación precisa. Mira este ejemplo a continuación:

(Imagen del autor)
  • Observa que P(Y) y P(X) cambiaron. La densidad y ubicación de los puntos representan una distribución de probabilidad diferente
  • Estos cambios hacen que P(Y|X) cambie
  • Sin embargo, el límite de decisión se mantuvo válido

Aquí hay un detalle importante. Imagina que estamos observando los cambios en P(X) solamente sin información sobre las etiquetas reales. Nos gustaría saber qué tan buenas son las predicciones. Si P(X) se desplaza hacia áreas donde el límite de decisión estimado tiene una gran incertidumbre, es probable que las predicciones sean inexactas. Entonces, en el caso de un cambio de covariable hacia regiones inciertas del límite de decisión, es muy probable que también esté ocurriendo un cambio condicional. Pero no sabríamos si el límite de decisión está cambiando o no. En ese caso, podemos cuantificar un cambio que ocurre en P(X), lo que puede indicar un cambio en P(Y|X), pero no sabríamos qué le está sucediendo al límite de decisión o función de regresión. Aquí hay una representación de este problema:

Así que ahora que hemos dicho todo esto, es hora de hacer otra declaración. Hablamos de desplazamiento condicional cuando nos referimos a los cambios en P(Y|X). Es posible que lo que hemos estado llamando cambio conceptual se refiera específicamente a los cambios en el límite de decisión real o la función de regresión. A continuación, se muestra un ejemplo típico de un desplazamiento condicional con un cambio en el límite de decisión pero sin un cambio en las covariables o en el cambio previo. De hecho, el cambio provino del cambio en la probabilidad condicional inversa P(X|Y).

(Imagen del autor)

Implicaciones para nuestros métodos de monitoreo actuales

Nos importa entender estas causas para poder desarrollar métodos para monitorear el rendimiento de nuestros modelos de ML de la manera más precisa posible. Ninguna de las ideas propuestas es una mala noticia para las soluciones prácticas disponibles. Todo lo contrario, con esta nueva jerarquía de conceptos, podríamos ser capaces de llevar más lejos nuestros intentos de detectar las causas de la degradación del rendimiento del modelo. Tenemos métodos y métricas que se han propuesto para monitorear el rendimiento de predicción de nuestros modelos, principalmente propuestos a la luz de los diferentes conceptos que hemos enumerado aquí. Sin embargo, es posible que hayamos mezclado los conceptos en las suposiciones de las métricas [2]. Por ejemplo, podríamos haber estado refiriéndonos a una suposición como “sin cambio condicional”, cuando en realidad podría ser específicamente “sin cambio en el límite de decisión” o “sin cambio en la función de regresión”. Necesitamos seguir pensando en esto.

Más sobre la degradación del rendimiento de predicción

Acercándonos y alejándonos. Hemos profundizado en el marco para pensar en las causas de la degradación del rendimiento de predicción. Pero tenemos otra dimensión para discutir este tema que surge de los tipos de cambios en el rendimiento de predicción. Nuestros modelos sufren debido a las causas mencionadas, y esas causas se reflejan en diferentes formas de desalineación de predicción. Encontramos principalmente cuatro tipos: sesgo, pendiente, varianza y cambios no lineales. Consulta esta publicación para obtener más información sobre este otro lado de la moneda.

Resumen

Estudiamos en esta publicación las causas de la degradación del rendimiento del modelo y propusimos un marco basado en las conexiones teóricas de los conceptos que ya conocíamos antes. Aquí están los puntos principales:

  • La probabilidad P(Y|X) rige el límite de decisión o la función real.
  • Se asume que el límite de decisión o la función estimada es la mejor aproximación a la real.
  • El límite de decisión o la función estimada es el modelo de ML.
  • El modelo de ML puede experimentar degradación del rendimiento de predicción.
  • Esa degradación es causada por cambios en P(Y|X).
  • P(Y|X) cambia porque hay cambios en al menos uno de estos elementos: P(X), P(Y) o P(X|Y).
  • Puede haber cambios en P(X) y P(Y) sin tener cambios en el límite de decisión o la función de regresión.

La declaración general es: si el modelo de ML está cambiando, entonces P(Y|X) está cambiando. Lo contrario no necesariamente es cierto.

Este conjunto de conceptos es, con suerte, solo una semilla del crucial tema de la degradación del rendimiento de predicción de ML. Mientras que la discusión teórica es simplemente un deleite, confío en que esta conexión nos ayudará a ir más allá del objetivo de medir estos cambios en la práctica mientras optimizamos los recursos necesarios (muestras y etiquetas). Únete a la discusión si tienes otras contribuciones a tu conocimiento.

¿Qué está causando que tu modelo se desplace en el rendimiento de predicción?

¡Que tengas un feliz pensamiento!

Referencias

[1] https://huyenchip.com/2022/02/07/data-distribution-shifts-and-monitoring.html

[2] https://www.sciencedirect.com/science/article/pii/S016974392300134X

[3]https://nannyml.readthedocs.io/en/stable/how_it_works/performance_estimation.html#performance-estimation-deep-dive

[4] https://medium.com/towards-data-science/understanding-dataset-shift-f2a5a262a766