Atribuciones de funciones para las previsiones

Introducción

En esta página se ofrece una breve descripción conceptual de los métodos de atribución de funciones disponibles en Vertex AI. Para obtener información técnica detallada, consulta nuestro informe sobre las explicaciones de la IA.

La importancia global de las funciones (atribuciones de funciones del modelo) muestra cómo influye cada función en un modelo. Los valores son un porcentaje de cada función: cuanto mayor sea el porcentaje, más impacto habrá tenido la función en el entrenamiento del modelo. Por ejemplo, después de revisar la importancia global de las características de tu modelo, puedes llegar a la siguiente conclusión: "El modelo detecta que las ventas del mes anterior suelen ser el mejor indicador de las ventas del mes siguiente. Factores como el número de clientes y las promociones son importantes, pero lo son menos que las cifras de ventas".

Para ver la importancia global de las funciones de tu modelo, consulta las métricas de evaluación.

Las atribuciones de características locales de los modelos de series temporales indican la contribución de cada característica de un modelo a una inferencia. Miden la contribución de una función a una inferencia en relación con un valor de referencia de entrada. En el caso de las funciones numéricas, como las ventas, la entrada de referencia es la mediana de las ventas. En el caso de las características categóricas, como el nombre del producto, la entrada de referencia es el nombre de producto más habitual. La suma de todas las atribuciones no es la inferencia. La suma indica en qué medida difiere la inferencia de la inferencia de referencia (es decir, todos los datos de entrada son datos de entrada de referencia).

Las atribuciones de funciones se determinan en función de las previsiones realizadas para contrafactuales. Por ejemplo, una previsión sería la siguiente: ¿Cuál es la previsión si el valor del anuncio de TRUE el 2020-11-21 se sustituyera por FALSE, el valor más habitual? El número necesario de ejemplos de contrafácticos se escala con el número de columnas y el número de rutas (generadas por el servicio). El número de inferencias resultante puede ser órdenes de magnitud mayor que en una tarea de inferencia normal, y el tiempo de ejecución esperado se ajusta en consecuencia.

Puedes usar Previsiones con AutoML o Flujo de trabajo tabular para previsiones para generar y consultar atribuciones de características locales. La previsión con AutoML solo admite inferencias por lotes. El flujo de trabajo tabular para las previsiones admite tanto inferencias por lotes como inferencias online.

Ventajas

Si inspeccionas instancias específicas y agregas atribuciones de características en tu conjunto de datos de entrenamiento, puedes obtener información más detallada sobre cómo funciona tu modelo. Ten en cuenta las siguientes ventajas:

  • Depuración de modelos: las atribuciones de características pueden ayudar a detectar problemas en los datos que las técnicas de evaluación de modelos estándar suelen pasar por alto.

  • Optimizar modelos: puede identificar y eliminar las funciones que sean menos importantes, lo que puede dar lugar a modelos más eficientes.

Limitaciones conceptuales

Tenga en cuenta las siguientes limitaciones de las atribuciones de funciones:

  • Las atribuciones de características, incluida la importancia de las características locales de AutoML, son específicas de las inferencias individuales. Inspeccionar las atribuciones de características de una inferencia concreta puede proporcionar información valiosa, pero es posible que no se pueda generalizar a toda la clase de esa instancia concreta ni a todo el modelo.

    Para obtener información más generalizable sobre los modelos de AutoML, consulta la importancia de las características del modelo. Para obtener estadísticas más generalizables para otros modelos, agregue las atribuciones de subconjuntos de su conjunto de datos o de todo el conjunto de datos.

  • Cada atribución solo muestra cuánto ha afectado la función a la inferencia de ese ejemplo concreto. Una sola atribución puede no reflejar el comportamiento general del modelo. Para entender el comportamiento aproximado del modelo en todo un conjunto de datos, agrega las atribuciones de todo el conjunto de datos.

  • Aunque las atribuciones de las funciones pueden ayudar a depurar modelos, no siempre indican claramente si un problema surge del modelo o de los datos con los que se entrena el modelo. Usa tu buen criterio y diagnostica los problemas de datos habituales para acotar el espacio de las posibles causas.

  • Las atribuciones dependen por completo del modelo y de los datos que se usen para entrenarlo. Solo pueden revelar los patrones que el modelo ha detectado en los datos y no pueden detectar ninguna relación fundamental en los datos. La presencia o ausencia de una atribución sólida a una determinada característica no significa que haya o no una relación entre esa característica y el objetivo. La atribución solo muestra si el modelo usa o no la función en sus inferencias.

  • Las atribuciones por sí solas no pueden determinar si tu modelo es justo, objetivo o de buena calidad. Evalúa detenidamente los datos de entrenamiento y las métricas de evaluación, así como las atribuciones.

Para obtener más información sobre las limitaciones, consulta el informe técnico sobre explicaciones de IA.

Mejorar las atribuciones de funciones

Los siguientes factores son los que más influyen en las atribuciones de funciones:

  • Los métodos de atribución aproximan el valor de Shapley. Puedes aumentar la precisión de la aproximación incrementando el número de rutas del método Shapley muestreado. Por lo tanto, las atribuciones podrían cambiar drásticamente.
  • Las atribuciones solo expresan cuánto ha afectado la función al cambio en el valor de inferencia en relación con el valor de referencia. Asegúrate de elegir una referencia significativa que esté relacionada con la pregunta que le hagas al modelo. Los valores de atribución y su interpretación pueden cambiar significativamente al cambiar de base.

Consulta el recuento de rutas y las líneas de base en los parámetros y los metadatos de la explicación.

Ver metadatos y parámetros de la explicación

Los parámetros y los metadatos de la explicación contienen lo siguiente:

  • static_value las líneas de base que se usan para generar explicaciones.
  • pathCount el número de rutas, un factor que influye en el tiempo que se tarda en generar atribuciones de características.
  • historical_values y prediction_values: columnas disponibles en la previsión.
  • historical_values: columnas no disponibles en la previsión.

El modelo se puede ver mediante la API REST de Vertex AI e incluye la especificación de explicación.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • LOCATION: región en la que se almacena tu modelo
  • PROJECT: tu ID de proyecto.
  • MODEL_ID: ID del recurso de modelo

Método HTTP y URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID"

PowerShell

Ejecuta el comando siguiente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID" | Select-Object -Expand Content

Debería ver un resultado similar al siguiente para un modelo de AutoML entrenado.

Algoritmo

Vertex AI proporciona atribuciones de características mediante valores de Shapley, un algoritmo de teoría de juegos cooperativo que asigna crédito a cada jugador de un juego por un resultado concreto. Aplicado a los modelos de aprendizaje automático, esto significa que cada característica del modelo se trata como un "jugador" en el juego y la contribución se asigna en proporción al resultado de una inferencia concreta. En el caso de los modelos de datos estructurados, Vertex AI usa una aproximación de muestreo de los valores de Shapley exactos llamada Valores de Shapley muestreados.

Para obtener información detallada sobre cómo funciona el método de Shapley muestreado, consulta el artículo Bounding the Estimation Error of Sampling-based Shapley Value Approximation.

Siguientes pasos

Los siguientes recursos ofrecen más material educativo útil: