Atribuições de recursos para previsão

Introdução

Nesta página, apresentamos uma breve visão geral conceitual dos métodos de atribuição de recursos disponíveis com a Vertex AI. Para uma discussão técnica detalhada, consulte nosso artigo sobre o AI Explanations.

A importância global do recurso (atribuições de recursos do modelo) mostra quanto cada recurso afeta um modelo. Os valores são fornecidos como uma porcentagem para cada atributo: quanto maior a porcentagem, mais impacto o recurso teve no treinamento do modelo. Por exemplo, depois de analisar a importância global do recurso para seu modelo, você pode chegar à seguinte conclusão: "O modelo vê que as vendas do mês anterior geralmente são o melhor preditor das vendas do próximo mês. Fatores como contagem de clientes e promoções são importantes, mas menos do que os números de vendas."

Para ver a importância global do recurso para seu modelo, examine as métricas de avaliação.

As atribuições de recursos para modelos de séries temporais indicam o quanto cada recurso em um modelo contribuiu para uma previsão. Elas medem a contribuição de um recurso para uma previsão em relação a um valor de referência de entrada. Para recursos numéricos, como vendas, a entrada de valor de referência é a média de vendas. Para recursos categóricos, como o nome do produto, a entrada de referência é o nome do produto mais comum. A soma de todas as atribuições não é a previsão. A soma indica as diferenças entre a previsão e a previsão de referência, ou seja, todas as entradas são entradas de valor de referência.

As atribuições de recursos são determinadas com base nas previsões feitas para contrafatos. Veja um exemplo de previsão: Qual seria a previsão se o valor de publicidade de TRUE em 2020-11-21 fosse substituído por FALSE, o valor mais comum? O número necessário de contrafatos é dimensionado com o número de colunas e o número de caminhos (serviço gerado). O número resultante de previsões pode ser ordens de magnitude maiores do que em uma tarefa de previsão normal. Além disso, o tempo de execução esperado é escalonado de acordo com isso.

Use a previsão com o AutoML ou o fluxo de trabalho tabular para previsão para gerar e consultar atribuições de recursos locais. A previsão com o AutoML é compatível apenas com previsões em lote. O fluxo de trabalho tabular para previsão é compatível com previsões em lote e on-line.

Vantagens

Se você inspecionar instâncias específicas e também agregar atribuições de recursos em todo o conjunto de dados de treinamento, poderá ter insights mais detalhados sobre o funcionamento do modelo. Considere as seguintes vantagens:

  • Depuração de modelos: as atribuições de recursos podem ajudar a detectar problemas nos dados que as técnicas padrão de avaliação de modelos geralmente não detectam.

  • Otimização de modelos: é possível identificar e remover recursos que são menos importantes, o que pode resultar em modelos mais eficientes.

Limitações conceituais

Considere as seguintes limitações de atribuições de recursos:

  • As atribuições de recursos, incluindo a importância do recurso local do AutoML, são específicas para previsões individuais. Inspecionar atribuições de recursos para uma previsão individual pode oferecer insights bons, mas o insight pode não ser generalizado para toda a classe dessa instância individual ou para todo o modelo.

    Para conseguir insights mais gerais para modelos do AutoML, consulte a importância do recurso do modelo. Para receber insights mais gerais para outros modelos, agregue atribuições em subconjuntos ao seu conjunto de dados ou em todo o conjunto de dados.

  • Cada concessão mostra apenas quanto o atributo afetou a previsão do exemplo em questão. Uma única concessão pode não refletir o comportamento geral do modelo. Para entender o comportamento aproximado do modelo em um conjunto de dados completo, inclua concessões em todo o conjunto.

  • Ainda que as atribuições de recursos possam ajudar com a depuração do modelo, nem sempre indicam claramente se um problema surge no modelo ou nos dados em que o modelo é treinado. Use seu bom senso e diagnostique problemas comuns de dados para reduzir o espaço de causas possíveis.

  • As atribuições dependem totalmente do modelo e dos dados usados no treinamento. Elas informam apenas os padrões que o modelo encontrou nos dados e não detectam relações fundamentais neles. A presença ou ausência de uma atribuição forte em um certo atributo não significa que há relação entre esse atributo e o destino. A concessão apenas mostra se o modelo está usando o atributo nas previsões.

  • Só as concessões não informam se o modelo é justo, imparcial ou de qualidade. Avalie cuidadosamente seus dados de treinamento e as métricas de avaliação, além das atribuições.

Para mais informações sobre limitações, consulte o artigo sobre o AI Explanations.

Como aprimorar as concessões de atributos

Os fatores a seguir têm o maior impacto nas concessões de atributos:

  • Os métodos de concessão são similares ao valor de Shapley. É possível aumentar a precisão da aproximação aumentando o número de caminhos para o método Sampled Shapley. Isso pode mudar bastante as concessões.
  • As concessões expressam apenas o quanto o atributo afetou a alteração no valor de previsão, em relação ao valor de referência. Escolha um valor de referência significativo, relevante para a pergunta que você está fazendo sobre o modelo. Os valores de concessão e a interpretação deles podem mudar bastante quando você alterna os valores de referência.

Você pode ver a contagem de caminhos e os valores de referência nos parâmetros de explicação e nos metadados.

Ver metadados e parâmetros de explicação

Os parâmetros e os metadados de explicação contêm o seguinte:

  • static_value: os valores de referência usados para gerar explicações.
  • pathCount: o número de caminhos, um fator no tempo que leva para gerar atribuições de atributos.
  • historical_values, historical_values: colunas disponíveis na previsão.
  • historical_values: colunas indisponíveis na previsão.

O modelo pode ser visualizado usando a API REST Vertex AI e inclui a especificação explicativa.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: região onde seu modelo é armazenado.
  • PROJECT: o ID do projeto.
  • MODEL_ID: o ID do recurso do modelo

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

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

execute o seguinte comando:

$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

Você verá uma saída semelhante à seguinte para um modelo treinado do AutoML.

Algoritmo

A Vertex AI fornece atribuições de recursos usando o Shapley Values, um algoritmo de teoria de jogos cooperativos que atribui crédito a cada jogador em um resultado específico. Aplicado a modelos de machine learning, cada recurso do modelo é tratado como um "jogador" no jogo, e o crédito é atribuído em proporção ao resultado de uma previsão específica. Em modelos de dados estruturados, a Vertex AI usa uma aproximação de amostragem de valores exatos de Shapley chamada Sampled Shapley.

Para informações detalhadas sobre o funcionamento do método Sampled Shapley, leia o artigo Como limitar o erro de estimativa da aproximação de valor do Sampled Shapley.

A seguir

Os seguintes recursos oferecem materiais educacionais úteis: