Mais do que destacar features

Autor

M.Sc. Renato Barreira

Mapa

Mapa

1 Fundamentos da IA Explicável

Nota

Embora IA Explicável seja a tradução mais usada, também é possível encontrar Explicabilidade da Inteligiência Artificial

DicaExplicabilidade IA

Como entender decisões sugeridas por modelos de aprendizado de máquina de maneira que possamos confiar nele?

O aumento da complexidade desses modelos criou um problema fundamental: a capacidade de produzir previsões não implica necessariamente a capacidade de compreender como essas previsões foram produzidas.

NotaDesempenho preditivo e Explicabilidade

O desempenho preditivo corresponde à capacidade de um modelo produzir previsões adequadas para observações não utilizadas em seu treinamento.

A explicabilidade, por sua vez, corresponde à possibilidade de compreender os mecanismos e as relações responsáveis por essas previsões.

Um modelo pode apresentar elevada capacidade preditiva e baixa transparência. Da mesma forma, um modelo facilmente compreensível não apresenta necessariamente desempenho preditivo superior.

Por exemplo

1.1 Não é a mera seleção de features

A explicabilidade não constitui uma característica exclusivamente técnica. Ela também envolve questões relacionadas à confiança, confiabilidade, transparência e compreensão humana.

a explicabilidade pode servir simultaneamente ao aprimoramento técnico, à avaliação crítica e à comunicação dos resultados.

  1. Correção (Correctness)

O modelo utiliza informações relevantes para produzir suas decisões? Há relações espúrias? Há data leak?

  1. Robustez (Robustness)

Ele é estável? Ele apresenta alterações injustificadas se você alterar algo?

  1. Viés (Bias)

Há distorções nos dados ou nos mecanismos de decisão que possam produzir resultados incosistentes para determinados grupos?

  1. Aperfeiçoamento (Improvement)

É possível “retroalimenta-lo”? (No sentido modifica-lo)

  1. Transferibilidade (Transferability)

O comportamento aprendido pelo modelo pode ser aproveitado em outros contextos e quais características precisam ser modificadas para permitir essa transferência?

  1. Compreensibilidade humana (Human Comprehensibility)

Corresponde à capacidade de comunicar o funcionamento do modelo de maneira compreensível para diferentes públicos, considerando seus conhecimentos e necessidades.

2 Transparência e avaliação da explicabilidade.

2.1 Transparência

A transparência não deve ser tratada como uma propriedade estritamente binária, ela tem três dimensões: simulabilidade; decomponibilidade; transparência algoritimica

2.1.1 Simulabilidade (Simulatability)

Dica

É possível acompanhar mentalmente a previsão?

Quantidade de variáveis utilizadas. Complexidade das operações realizadas. Dimensão geral da estrutura computacional.

Regressão linear simples, árvore de decisão pequena, sistema de poucas regras

2.1.2 Decomponibilidade (Decomposability)

Dica

É possível compreender separadamente as variáveis, parâmetros e operaçõeS?

Esses componentes incluem as variáveis de entrada, os parâmetros estimados, as operações matemáticas e as relações utilizadas na construção das previsões.

A característica fundamental é que a interpretação dos componentes individuais permite compreender aspectos relevantes do funcionamento do modelo.

Regressão logística, árvore de decisão, GAM, rede bayesiana simples

2.1.3 Transparência algorítmica (Algorithmic Transparency)

Dica

O procedimento matemático ou computacional que produz a previsão é compreensível?

O conhecimento das regras de processamento, dos procedimentos de otimização e das operações realizadas permite compreender como o sistema transforma suas entradas em resultados.

KNN, regressão linear, árvores de decisão, modelos baseados em regras.

2.1.4 Modelos que atendem os três critérios?

Caption Árvore de decisão pequena Simulabilidade: podemos percorrer mentalmente os nós até chegar à previsão. Decomponibilidade: podemos compreender cada condição separadamente. Transparência algorítmica: compreendemos o procedimento de previsão.

\[ \hat{Y} = \beta_0 + \beta_1 X_1 + \beta_2 X_2 \] Regressão linear simples Simulabilidade: podemos calcular mentalmente a previsão quando os valores e os coeficientes são simples. Decomponibilidade: podemos interpretar separadamente os coeficientes, variáveis e operações. Transparência algorítmica: conhecemos o procedimento matemático utilizado para produzir a previsão.

2.2 Critérios de avaliação da explicabilidade

Esses critérios não são equivalentes às métricas tradicionais de desempenho preditivo, mas avaliações qualitativas sobre os modelos.

Diferente da transparência, quando a gente olha pra dentro do modelo, nos critérios de avaliação da explicabilidade, olha-se para a REPRESENTAÇÃO EXPLICATIVA, MÉTODO DE EXPLICABILIDADE, ETC.

2.2.1 Compreensibilidade (Comprehensibility)

O grau em que as representações extraídas são compreensíveis para os seres humanos, relacionando-se, assim, com as dimensões de transparência consideradas anteriormente.

2.2.2 Fidelidade (Fidelity)

O grau em que as representações extraídas capturam com precisão os modelos opacos dos quais foram extraídas.

\

2.2.3 Acurácia (Accuracy)

A capacidade das representações extraídas de prever com precisão exemplos não vistos (novos dados).

\

2.2.4 Escalabilidade (Scalability)

A capacidade do método de se adaptar e escalar para modelos opacos com grandes espaços de entrada e um grande número de conexões ponderadas.


2.2.5 Generalidade (Generality)

O grau em que o método exige regimes de treinamento especiais ou restrições aos modelos opacos.


Critério O que avalia
Compreensibilidade Facilidade de compreensão humana
Fidelidade Correspondência com o comportamento do modelo original
Acurácia Capacidade de prever corretamente novas observações
Escalabilidade Capacidade de operar em modelos de grande dimensão
Generalidade Aplicabilidade a diferentes arquiteturas


3 Taxonomia e classificação das técnicas de XAI

3.1 Os diferentes tipos de explicações

Explicações textuais (Text Explanations); Explicações visuais (Visual Explanations); Explicações locais (Local Explanations); Explicações por observações representativas (Explanations by Example); Explicações por simplificação (Explanations by Simplification); Explicações pela relevância dos atributos (Feature Relevance Explanations).

3.2 Frameworks / Enquadramentos analíticos


Framework Objetivo
Taxonomy Framework Organizar modelos e abordagens de explicabilidade
Transparency Framework Comparar modelos segundo suas propriedades de transparência
XAI Capability Framework Comparar as capacidades e os pressupostos das técnicas
Explanation Type Framework Comparar os diferentes tipos de explicações
Data Scientist Strategy Framework Orientar a seleção e combinação de técnicas


Nota

Para não ficar ainda mais longo, vamos olhar esses enquadramentos de maneira aplicada.


3.2.1 Taxonomy Framework

NotaTransparentes (whitebox) e Opacos (ou blackbox)

Os modelos transparentes possuem características interpretáveis em sua própria estrutura.

Os modelos opacos, por sua vez, frequentemente necessitam de procedimentos adicionais para que seu comportamento possa ser investigado.


Regressão linear e regressão logística; Árvores de decisão (Decision Trees, contudo conforme cresce, diminui); K-Nearest Neighbors (KNN); Rule-Based Learning; Generalized Additive Models (GAM); Modelos Bayesianos.


Random Forest; Support Vector Machines (SVM); Redes neurais multicamadas.


4 TÉCNICAS INDEPENDENTES DO MODELO (MODEL-AGNOSTIC XAI)


NotaExplainabilidade Pos-Hoc

A explicabilidade pós-hoc consiste na utilização de procedimentos destinados a investigar o comportamento de um modelo após seu treinamento.

Esses métodos não modificam necessariamente os parâmetros ou a estrutura do modelo original.

Seu objetivo consiste em produzir representações adicionais que permitam compreender diferentes aspectos de seu funcionamento.


4.1 LIME — Local Interpretable Model-Agnostic Explanations


Nota

Seu objetivo é aproximar localmente o comportamento de um modelo complexo mediante uma representação mais simples.


DicaPrincípio fundamental

Sua proposta é construir uma aproximação interpretável em uma região restrita do espaço de atributos.


Nota

Localidade: a explicação se refere a uma região específica e não necessariamente representa o comportamento global.

Agnosticismo: o método pode ser utilizado sem conhecimento detalhado da arquitetura interna do modelo.

Simplificação: a explicação é produzida mediante uma representação de menor complexidade.


Código
library(caret)
library(randomForest)
library(lime)
library(ggplot2)

#banco de dados incluso no R
data(iris)

#treinar com tudo menos oq a gente quer prever e as variáveis numéricas
treino = iris[-101, ]
teste  = iris[101, 1:4, drop = FALSE]

#treinando random forest para prever a variável species usando todas as outras variáveis
set.seed(123)
modelo = train(Species ~ ., data = treino, method = "rf")

#para entender a distribuição das variáveis de entrada e como o modelo responde a elas
explicador = lime(treino[, 1:4], modelo)

# 4. Explicar a previsão da observação
set.seed(123)
explicacao = explain(
  teste,
  explicador,
  n_labels = 1,
  n_features = 4
)


plot_features(explicacao)


Ele é muito útil pra imagens porque ele destaca quais regiões de uma imagem contribuíram para a classificação realizada por um modelo black-box. (o exemplo abaixo já vem com o pacote lime para demonstração)


Código
library(lime)
library(magick)

#exemplo do pacote
explicacao = .load_image_example()

#regiões relevantes
plot_image_explanation(explicacao)

Código
#regiões contrárias à classificação
plot_image_explanation(
  explicacao,
  show_negative = TRUE
)

Código
#mostrar apenas as regiões importantes
plot_image_explanation(
  explicacao,
  display = "block"
)


A qualidade da explicação depende da definição de proximidade, da representação utilizada e da fidelidade da aproximação, ENTÃO DADOS DIFUSOS SÃO UM PROBLEMA;

Prefere dados mais estáveis!


4.2 SHAP - SHapley Additive exPlanations


Nota

“O objetivo neste caso é construir um modelo linear em torno da instância a ser explicada e, em seguida, interpretar os coeficientes como a importância das características (features).


Nota

Em termos gerais, o valor de Shapley de uma característica é a sua contribuição marginal média esperada para a decisão do modelo, após todas as combinações possíveis terem sido consideradas.

O valor de Shapley é o quanto cada atributo contribuiu para o resultado final da previsão comparado à média geral.


Código
library(randomForest)
library(fastshap)
library(shapviz)

#6 variáveis e 153 observações (dias)
data(airquality)

dados = na.omit(airquality[, c(
  "Ozone", "Solar.R", "Wind", "Temp", "Month"
)])

#treino e teste
set.seed(123)
idx = sample(
  seq_len(nrow(dados)),
  size = floor(0.8 * nrow(dados))
)

treino = dados[idx, ] #pega apenas as linhas sorteadas
teste  = dados[-idx, ] #pega todas as linhas EXCETO as sorteadas

X_treino = treino[, -1, drop = FALSE]
X_teste  = teste[, -1, drop = FALSE]

#Treinar Random Forest
set.seed(123)

modelo = randomForest(
  Ozone ~ .,
  data = treino,
  ntree = 300
)

# 4. Função de previsão para o SHAP
pred_fun = function(object, newdata) {
  as.numeric(predict(object, newdata = newdata))
}

#Calcular os valores SHAP
set.seed(123)

valores_shap = fastshap::explain(
  object = modelo,
  X = X_treino,
  newdata = X_teste,
  pred_wrapper = pred_fun,
  nsim = 100,
  adjust = TRUE
)

#Preparar os gráficos
baseline = mean(pred_fun(modelo, X_treino))

shap = shapviz(
  as.matrix(valores_shap),
  X = X_teste,
  baseline = baseline
)

# GRÁFICO 1: Importância global das variáveis
sv_importance(shap, kind = "bee")


Mostra a distribuição dos valores SHAP das observações analisadas. Cada ponto representa uma observação e a posição horizontal indica se a variável aumentou ou diminuiu a previsão em relação ao valor de referência.

Pontos amarelos/laranjas à direita: Temperaturas altas sobem bastante a previsão de ozono (chegando a somar mais de 25 unidades de ozono). Existe uma relação direta forte — quanto mais quente o dia, maior a quantidade de ozono esperada.


Código
#explicação individual dia 1
sv_waterfall(shap, row_id = 1)


Explica uma previsão individual. Começa na previsão média de referência e mostra quanto cada variável contribuiu para aumentar ou reduzir o resultado previsto. As barras mostram como cada variável desse dia empurrou a previsão da média (\(42.4\)) até ao resultado final (\(37.4\))


Código
#Dependência SHAP da temperatura
sv_dependence(shap, v = "Temp")


Mostra a relação entre os valores da temperatura e suas contribuições SHAP. Permite investigar se a influência da temperatura sobre as previsões é linear, não linear ou heterogênea. O gráfico permite identificar que a “fronteira” fica em torno dos 78°F a 80°F. É a partir desta faixa de temperatura que o efeito no ozono passa de diminuidor (negativo) para impulsionador (positivo)


Custo Computacional Alto: Para considerar todas as combinações de variáveis de um dataset real, seriam necessários cálculos exorbitantes (inviáveis na prática);

Suposição de Independência: Para contornar o custo alto, o SHAP assume que as variáveis de entrada são independentes entre si;

Ordem dos Atributos (Swapping): Devido às aproximações feitas na prática, a ordem em que as variáveis são processadas no algoritmo pode alterar ligeiramente os valores finais computados.


4.3 Individual Conditional Expectation (ICE) e Partial Dependence Plot (PDP)


Nota

Diferentemente do SHAP, o ICE mostra como a previsão muda quando variamos uma variável, mantendo as demais características de cada observação constantes.


Nota

Ele mostra como a previsão do modelo se modifica quando alteramos artificialmente uma variável, mantendo as demais características constantes.

A principal contribuição do ICE é revelar a heterogeneidade das relações aprendidas pelo modelo


Código
library(randomForest)
library(pdp)
library(ggplot2)

data(airquality)

dados = na.omit(airquality[, c(
  "Ozone", "Solar.R", "Wind", "Temp", "Month"
)])

#Treinar Random Forest
set.seed(123)

modelo = randomForest(
  Ozone ~ .,
  data = dados,
  ntree = 300
)

#calcular curvas ICE para temperatura
ice = pdp::partial(
  modelo,
  pred.var = "Temp",
  train = dados[, -1],
  ice = TRUE,
  grid.resolution = 30
)

#Gráfico ICE + PDP
autoplot(ice, alpha = 0.2) +
  labs(
    title = "Individual Conditional Expectation",
    subtitle = "Random Forest - airquality",
    x = "Temperatura (°F)",
    y = "Concentração prevista de ozônio"
  ) +
  theme_minimal()
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
ℹ The deprecated feature was likely used in the pdp package.
  Please report the issue at <https://github.com/bgreenwell/pdp/issues>.


Linhas cinzas (ICE): cada linha representa uma observação (no caso dia). Mostra como a previsão de ozônio muda quando variamos a temperatura, mantendo as outras variáveis daquela observação constantes. Linha vermelha (PDP): representa a média das curvas ICE. Portanto, sintetiza o comportamento médio da Random Forest em relação à temperatura.

Existe uma relação positiva e não linear entre temperatura e concentração prevista de ozônio. Existe heterogeneidade nas previsões individuais.


Código
#Gráfico ICE centralizado (c-ICE)
autoplot(ice, center = TRUE, alpha = 0.2) +
  labs(
    title = "Centered ICE",
    x = "Temperatura (°F)",
    y = "Mudança na previsão em relação ao início"
  ) +
  theme_minimal()


No ICE convencional, a dispersão vertical pode ocorrer simplesmente porque as observações possuem valores diferentes nas demais variáveis.

No c-ICE, normalizamos essas diferenças iniciais.

Portanto, quando as curvas centralizadas apresentam formatos e inclinações diferentes, temos evidências de que o efeito preditivo da temperatura depende das demais características das observações.

Isso sugere que a Random Forest aprendeu interações entre temperatura e outras variáveis meteorológicas.


ICE colorido por outra variável e PDP bidimensional (2D).

4.4 CHEAT SHEET DE ANÁLISE

Cheat Sheet

Cheat Sheet
Aviso

AO INVÉS DE PEDIR PRO CHATGPT “QUAL O MELHOR MÉTODO”, PEÇA “ME DE ARTIGOS CIENTÍFICOS COM ANÁLISE IGUAL A MINHA OU PARECIDA”.

4.5 MAIS ARTIGOS

Principles and Practice of Explainable Machine Learning

To Explain or to Predict?

https://mixtape.scunning.com/

COLOCAR Os autores não pretendem abordar todas as formas possíveis de explicação. Seu interesse principal está na extração de interpretações sobre o comportamento dos modelos e suas fronteiras de decisão.

Outro aspecto importante é a distinção entre explicabilidade estatística e explicação causal.

A identificação de uma associação estatística relevante para a previsão não estabelece, por si só, uma relação causal.

Embora reconheçam a importância da causalidade, os autores a tratam principalmente como uma direção de pesquisa futura, e não como o fundamento dos métodos revisados.

However, such a highly positive impact is coupled with a significant challenge: how do we understand the decisions suggested by these systems in order that we can trust them?

how do we understand the decisions suggested by these systems in order that we can trust them?

Correctness: Are we confident all and only the variables of interest contributed to our decision? Are we confident spurious patterns and correlations were eliminated in our outcome?

Robustness: Are we confident that the model is not susceptible to minor perturbations, but if it is, is that justified for the outcome? In the presence of a missing or noisy data, are we confident the model does not misbehave?

Bias: Are we aware of any data-specific biases that unfairly penalize groups of individuals, and if yes, can we detect and correct them?

Improvement: In what concrete way can the prediction model be improved? What effect would additional training data or an enhanced feature space have?

Transferability: In what concrete way can the prediction model for one application domain be applied to another application domain? What properties of the data and model would have to be adapted for this transferability?

Human comprehensibility: Are we able to explain the model’s algorithmic machinery to an expert? Perhaps

Transparent vs. opaque models, model specific vs. model agnostic approaches, as well as post-hoc1 explainability approaches follows, all of which are referred to in the taxonomic framework. Limitations and strengths of these models and approaches are discussed subsequently.

causality-related properties in machine learning models.

PERSPECTIVES ON EXPLAINABILITY Transparency stands for a human-level understanding of the inner workings of the model

Simulatability is the first level of transparency and it refers to a model’s ability to be simulated by a human.

Decomposability is the second level of transparency and it denotes the ability to break down a model into parts (input, parameters and computations) and then explain these parts.

Algorithmic Transparency is the third level and it expresses the ability to understand the procedure the model goes through to generate its output. For example, a model that classifies instances based on some similarity measure (such as K-nearest neighbors) satisfies this property, since the procedure is clear; find the datapoint that is the most similar to the one under consideration and assign to the former the same class as the latter. On the other hand, complex models, such as neural networks, construct an elusive loss function, while the solution to the training objective has to be approximated, too. Generally speaking, the only requirement for a model to fall into this category is for the user to be able to inspect it through a mathematical analysis.

EXERCÍCIO???

Evaluation Criteria

Comprehensibility: The extent to which extracted representations are humanly comprehensible, and thus touching on the dimensions of transparency considered earlier.

• Fidelity: The extent to which extracted representations accurately capture the opaque models from which they were extracted.

• Accuracy: The ability of extracted representations to accurately predict unseen examples.• Scalability: The ability of the method to scale to opaque models with large input spaces and large numbers of weighted connections.

• Generality: The extent to which the method requires special training regimes or restrictions on opaque models.

4.3 Types of Explanations

Text explanations

Visual explanation

Local explanations Explanations by example Explanations by simplification

Feature relevance explanations

Aqui eles só resumem 5 EXPLORING EXPLAINABLE MACHINE LEARNING we turn to five “frameworks” that summarize or otherwise distill the literature. These frameworks can be thought of as a comparative exposition and/or visualization of sorts, which help us understand:

FIGURA 1

5.1 Taxonomy Framework

distinction between transparent and opaque ML models (Transparency framework), followed by a description of the capabilities of explainability approaches (XAI Capability framework).

5.2 Transparency Framework

kinds of transparency that are enabled.

5.3 Explainable Machine Learning Capability Framework

In Table 2, we draw a comparison between XAI approaches in terms of the type of explanations they offer, whether they are model agnostic and whether they require a transformation of the input data before the method can be applied.

5.4 Explanation Type FrameworkIn Table 3, we contrast the types of post-hoc explanations at a conceptual level: for example, what might local explanations offer in contrast to model simplification strategies?

5.5 Data Scientist Strategy Framework

TRANSPARENTE MODELS

Linear E Logistic Regression