Viés nos dados vs. viés nos modelos

Por que “viés” precisa de duas lentes: dados e modelos

Na conversa do dia a dia, viés (bias) em I.A. (AI) geralmente significa “resultados injustos para certas pessoas”. Em estatística, viés também pode significar “erro sistemático” (por exemplo, um estimador (estimator) viesado). Este artigo foca em erros e disparidades sistemáticas relevantes para grupos que surgem em sistemas de aprendizado de máquina (machine learning, ML) e separa dois contribuintes intimamente relacionados:

  • Viés nos dados (data bias): problemas no que é coletado, em como é medido/rotulado, e em como representa o mundo.
  • Viés nos modelos (model bias): problemas introduzidos (ou amplificados) pelo algoritmo de aprendizado (learning algorithm), pela função objetivo (objective), pela arquitetura (architecture) e pelas regras de decisão (decision rules) — mesmo quando questões nos dados são sutis ou parcialmente tratadas.

Na prática, eles não são independentes: modelos aprendem padrões a partir dos dados, então dados viesados frequentemente se tornam modelos viesados. Mas modelos também podem introduzir viés além do que está nos dados por meio de escolhas de projeto (por exemplo, alvos de otimização, definição de limiares e uso de atributos).

Para saber como quantificar disparidades, veja Métricas de Equidade (Fairness Metrics).

Viés nos dados: o que é e de onde vem

Viés nos dados se refere a problemas sistemáticos no conjunto de dados que fazem com que um modelo treinado nele tenha desempenho desigual entre grupos ou contextos, ou que codifique padrões sociais indesejáveis.

Fontes comuns de viés nos dados

1) Viés de amostragem e seleção (sampling and selection bias)

O conjunto de dados não reflete a população que o modelo vai atender.

  • Subcobertura (undercoverage): Alguns grupos estão ausentes ou são raros (por exemplo, um conjunto de dados de dermatologia com predominantemente tons de pele claros).
  • Efeitos de seleção (selection effects): Quem aparece nos dados depende de sistemas existentes (por exemplo, registros de prisões refletem padrões de policiamento, não “taxas reais de crime”).

Exemplo: Um conjunto de dados de contratação contém apenas candidatos que, no passado, passaram por uma triagem automatizada de currículo. Se essa triagem favorecia certas escolas, os dados de treinamento já excluem outras, reforçando o mesmo filtro.

2) Viés de representação (representation bias) (proporções de grupos enviesadas)

Mesmo que todos os grupos estejam presentes, suas proporções podem estar muito distantes do uso no mundo real, levando a pior desempenho para grupos minoritários e a estimativas instáveis.

Exemplo: Um reconhecedor de fala treinado principalmente com um sotaque pode generalizar mal para outros, mesmo que esses sotaques apareçam em pequenas quantidades.

3) Viés de mensuração (measurement bias) (qualidade do atributo difere por grupo)

O mesmo construto é medido de forma diferente entre grupos devido a diferenças de sensor, diferenças de acesso ou ruído sistemático.

Exemplo: “Custo de saúde” às vezes é usado como proxy para “necessidade de saúde”. Se alguns grupos historicamente recebem menos cuidado, eles podem ter custos menores apesar de maior necessidade — levando a previsões de risco enviesadas.

4) Viés de rotulagem (label bias) (problemas de anotação e verdade de referência (ground truth))

Os rótulos estão errados ou inconsistentes, frequentemente de maneiras dependentes do grupo.

  • Rótulos subjetivos (toxicidade, “profissionalismo”, “atividade suspeita”) podem embutir estereótipos de anotadores.
  • Rótulos substitutos (proxy labels) (reincidência de prisão como proxy para reincidência criminal) herdam viés do processo que gera o rótulo.

Exemplo: Em moderação de conteúdo (content moderation), expressões dialetais podem ser rotuladas incorretamente como tóxicas se anotadores não têm contexto, causando mais falsos positivos para certas comunidades.

5) Viés histórico (historical bias) (a sociedade como era, não como queremos que seja)

Mesmo com amostragem e rotulagem perfeitas, os dados podem refletir padrões históricos injustos.

Exemplo: Dados históricos de remuneração podem codificar diferenças salariais por gênero; um modelo treinado para prever “salário apropriado” pode replicar essas diferenças.

6) Viés temporal e geográfico (temporal and geographic bias) (defasagem e localidade do conjunto de dados)

Dados coletados em um período de tempo ou região podem não se transferir bem.

Exemplo: Comportamento de crédito durante uma economia estável pode não generalizar para condições de recessão; padrões de fraude mudam rapidamente.

7) Viés de sobrevivência (survivorship bias) e dados ausentes não ao acaso (missing-not-at-random data)

Quem permanece no conjunto de dados depende de desfechos que, por si só, são viesados.

Exemplo: Um conjunto de dados de acompanhamento médico pode super-representar pacientes com acesso consistente ao cuidado; os desfechos de quem “se perde” no acompanhamento são sistematicamente diferentes.

Como o viés nos dados costuma aparecer

  • Lacunas de desempenho (performance gaps) (acurácia, recall, taxas de falso positivo) entre grupos
  • Lacunas de calibração (calibration gaps) (probabilidades previstas significam coisas diferentes para grupos diferentes)
  • Iniquidades a jusante (downstream inequities) (decisões de alocação desfavorecendo sistematicamente certos grupos)

Viés nos modelos: o que é e de onde vem

Viés nos modelos se refere a disparidades sistemáticas introduzidas ou amplificadas pela forma do modelo e pelo procedimento de treinamento, além do que é “inevitável” a partir dos dados.

Isso inclui:

  • Escolhas algorítmicas/estruturais (algorithmic/structural choices) (arquitetura, atributos, vieses indutivos)
  • Escolhas de política de decisão (decision policy choices) (limiares, restrições, pós-processamento (post-processing))

Fontes comuns de viés nos modelos

1) Desalinhamento entre função objetivo e função de perda (loss function)

A maioria dos modelos otimiza uma métrica de caso médio (por exemplo, perda logarítmica (log-loss) global). Se os grupos diferem em prevalência, ruído ou tamanho amostral, otimizar a perda global pode sacrificar o desempenho de grupos minoritários.

Exemplo: Otimizar a acurácia global em um conjunto de dados desbalanceado incentiva prever a classe majoritária — frequentemente prejudicando o recall de grupos sub-representados.

A mitigação frequentemente exige reponderação (reweighting), perdas sensíveis a grupos (group-aware losses) ou restrições explícitas de equidade (fairness constraints).

2) Viés indutivo (inductive bias) e capacidade do modelo (model capacity)

Famílias de modelos impõem suposições (linearidade, suavidade, invariâncias) que podem se ajustar melhor a alguns grupos do que a outros.

Exemplo: Um modelo linear pode subajustar relações complexas presentes em um subgrupo minoritário porque prioriza o ajuste global.

3) Efeitos de regularização e compressão

Regularização (regularization) (L1/L2), poda (pruning), quantização (quantization) e destilação (distillation) podem remover desproporcionalmente “padrões minoritários” porque eles contribuem menos para a redução da perda global.

Exemplo: Comprimir um modelo de visão (vision model) pode reduzir mais a acurácia em grupos demográficos sub-representados se seus atributos já foram aprendidos de forma fraca.

4) Escolha de atributos (feature choice) e variáveis proxy (proxy variables)

Mesmo que atributos protegidos (protected attributes) (raça, gênero) sejam removidos, modelos podem se apoiar em variáveis proxy (proxies) (CEP, escola, padrões de compra) que codificam informação semelhante.

Isso não é puramente um problema dos dados: a seleção de modelo e a engenharia de atributos (feature engineering) determinam se variáveis proxy se tornam centrais para as previsões.

5) Definição de limiares (thresholding) e regras de decisão

Muitos sistemas em produção convertem escores em decisões (aprovar/negar, sinalizar/não sinalizar). Um único limiar pode produzir taxas de erro diferentes entre grupos quando as distribuições de escores diferem.

Exemplo: Uma regra fixa de “pontuação de risco (risk score) > 0,7” pode produzir mais falsos positivos para um grupo devido a diferenças de distribuição — mesmo que o modelo subjacente tenha acurácia semelhante.

Métodos de pós-processamento podem ajustar limiares por grupo para satisfazer critérios como odds equalizadas (equalized odds), mas isso pode ser sensível do ponto de vista legal ou de políticas.

6) Ciclos de retroalimentação (feedback loops) e dinâmicas de implantação

O modelo muda o mundo, o que muda os dados futuros.

Exemplo: Policiamento preditivo (predictive policing) envia mais patrulhas para áreas previstas como de “alto risco”, gerando mais incidentes registrados ali, o que aumenta ainda mais o risco previsto.

Isso é, em parte, um problema de desenho do sistema, e não apenas um problema do conjunto de dados.

Viés nos dados vs viés nos modelos: uma distinção prática

Um modelo mental útil:

  • Viés nos dados é sobre a evidência: quem/o que é observado, como é medido e o que os rótulos significam.
  • Viés nos modelos é sobre a regra: o que o algoritmo de aprendizado prioriza, o que ele consegue representar e como decisões são tomadas a partir das previsões.

Diagnosticando qual é qual (na prática)

Faça perguntas direcionadas:

  • Se você retreinar o mesmo modelo em um conjunto de dados melhor curado, a disparidade diminui?
    → Forte indício de viés nos dados.
  • Se você mantiver o conjunto de dados fixo, mas mudar ponderação da perda, restrições, limiares ou arquitetura, a disparidade muda significativamente?
    → Forte indício de viés nos modelos.
  • As disparidades aparecem principalmente nos rótulos (verdade de referência) ou nas previsões dados os mesmos rótulos?
    → Viés de rotulagem vs viés de modelagem/decisão.
  • Há disparidades em calibração (probabilidades significam coisas diferentes entre grupos)?
    → Frequentemente indica problemas de modelagem ou de mudança de distribuição (dataset shift) (e, às vezes, diferenças de ruído nos rótulos).

Exemplos práticos

Exemplo 1: Aprovação de crédito (classificação binária (binary classification))

  • Viés nos dados: Aprovações históricas refletem discriminação passada; rótulos como “inadimplência” são influenciados por acesso desigual a refinanciamento e suporte.
  • Viés nos modelos: Otimizar lucro pode escolher um limiar que rejeita desproporcionalmente um grupo com dados ligeiramente mais ruidosos; variáveis proxy como CEP codificam segregação.

Mitigações frequentemente incluem:

  • Melhores definições de rótulo e auditoria (dados)
  • Avaliação sensível a grupos e políticas de limiar (modelos)
  • Governança cuidadosa de atributos proxy (ambos)

Exemplo 2: Predição de risco médico

  • Viés nos dados: Usar “custo” como rótulo proxy para “necessidade” embute acesso desigual ao cuidado.
  • Viés nos modelos: Um único modelo global pode ter pior desempenho em subpopulações devido a diferentes baselines fisiológicos ou ruído de mensuração.

Mitigações:

  • Redefinir rótulos mais próximos da necessidade clínica (dados)
  • Adaptação de domínio (domain adaptation) e calibração por subgrupo (modelos)
  • Monitorar deriva (drift) entre clínicas/regiões (sistema)

Exemplo 3: Moderação de conteúdo

  • Viés nos dados: Rótulos de toxicidade dependem da cultura do anotador; alguns dialetos são rotulados incorretamente.
  • Viés nos modelos: Tokenização (tokenization) e representações vetoriais (embeddings) podem codificar associações estereotipadas; a definição de limiares pode criar remoções desiguais.

Mitigações:

  • Anotadores diversos e diretrizes claras de rotulagem (dados)
  • Aumento de dados contrafactuais (counterfactual data augmentation) e treinamento robusto (robust training) (modelos)
  • Recursos de apelação com humano no ciclo (human-in-the-loop) e auditorias (sistema)

Medindo disparidades: conecte a métricas, mas cuidado com trade-offs

Mitigar viés exige medição. Famílias comuns incluem:

  • Desempenho por grupo: lacunas de TPR/FPR, lacunas de acurácia
  • Calibração: confiabilidade dentro de cada grupo
  • Taxas de seleção (selection rates): comparações no estilo paridade demográfica (demographic parity)
  • Trade-offs de erro: odds equalizadas / oportunidade igual (equal opportunity)

Essas métricas podem entrar em conflito; satisfazer uma pode quebrar outra. Veja Métricas de Equidade para definições, conflitos e orientação de seleção.

Estratégias de mitigação para viés nos dados (pré-modelo)

1) Melhorar coleta de dados e cobertura

  • Defina explicitamente a população-alvo e o uso pretendido.
  • Garanta tamanhos amostrais adequados por subgrupo (análise de poder (power analysis), se possível).
  • Colete dados em diferentes cenários (regiões, dispositivos, contextos) para reduzir fragilidade.

Dica prática: Acompanhe “cobertura por recorte (slice coverage)” como requisito de primeira classe (por exemplo, contagens por grupo demográfico e por interseções relevantes como idade×gênero).

2) Melhor mensuração e rotulagem

  • Use rubricas de rotulagem mais claras; teste concordância entre anotadores por subgrupo.
  • Substitua rótulos proxy por medidas mais próximas do construto quando viável.
  • Audite sensores e pipelines quanto a ruído dependente de grupo (por exemplo, condições de iluminação em imagens).

3) Intervenções de pré-processamento de dados

Abordagens comuns incluem:

  • Rebalanceamento / reamostragem: superamostrar grupos minoritários ou subamostrar grupos majoritários (use com cautela; pode distorcer prevalência).
  • Reponderação: ponderar exemplos para compensar sub-representação sem duplicar amostras.
  • Aumento de dados (data augmentation): gerar variantes para melhorar robustez (por exemplo, aumento acústico para sotaques, transformações controladas de imagem).
  • Tratamento de outliers e dados ausentes: garantir que estratégias para dados ausentes não prejudiquem subgrupos de forma diferente.

4) Documentação e governança

  • Crie documentação do conjunto de dados (conceito de “datasheets”) descrevendo coleta, lacunas conhecidas e usos pretendidos.
  • Registre consentimento, proveniência e políticas de tratamento de atributos sensíveis.

Estratégias de mitigação para viés nos modelos (in-model e pós-modelo)

1) Treinar com objetivos sensíveis à equidade

  • Aprendizado sensível a custos (cost-sensitive learning): penalizar mais erros em certos grupos.
  • Otimização com restrições (constrained optimization): otimizar utilidade sujeito a restrições de equidade (por exemplo, lacuna de FPR limitada).
  • Desenviesamento adversarial (adversarial debiasing): aprender representações preditivas do alvo enquanto limita a previsibilidade de atributos protegidos (use com cuidado; pode falhar sob mudança de distribuição).

2) Calibrar e ajustar limiares de decisão

  • Considere avaliação de calibração por grupo (e recalibração, se apropriado).
  • Avalie se limiares separados são permitidos e estão alinhados com restrições legais/de política.
  • Prefira avaliação focada na decisão: meça disparidades no ponto de operação (operating point) que você vai implantar.

3) Reduzir dependência de proxies

  • Faça auditorias de atributos: quais atributos direcionam decisões para diferentes grupos?
  • Remova ou restrinja atributos que sejam proxies fortes quando a política exigir.
  • Use ferramentas de interpretabilidade (interpretability tools) com responsabilidade; complemente com raciocínio causal (causal reasoning) quando possível (veja Inferência Causal para Aprendizado de Máquina (Causal Inference for ML) se seu wiki incluir isso).

4) Usar treinamento robusto e estratégias para mudança de distribuição

  • Otimização robusta (robust optimization) pode reduzir o erro do pior grupo (worst-group error) (às vezes formulado como “minimax (minimax)” ou otimização robusta à distribuição (distributionally robust optimization, DRO)).
  • Técnicas de adaptação de domínio ajudam quando a pertença a grupos se correlaciona com domínios (por exemplo, hospitais diferentes).

5) Métodos de pós-processamento

Quando você não pode mudar o treinamento, às vezes é possível ajustar as saídas:

  • Ajustes no estilo odds equalizadas (mudando limiares ou regras de decisão aleatorizadas)
  • Classificação com opção de rejeição (reject-option classification) (adiar casos incertos)

Esses métodos são práticos, mas devem ser avaliados quanto a efeitos colaterais e requisitos de conformidade.

Um fluxo de trabalho mínimo e prático (ponta a ponta)

Etapa 1: Definir o caso de uso e o modelo de danos

  • Quais decisões serão tomadas?
  • Quem é afetado e quais são os danos plausíveis?
  • Qual noção de equidade se ajusta ao contexto (taxa de seleção, oportunidade igual, calibração)?

Etapa 2: Coletar ou auditar dados com lentes por subgrupo

  • Cobertura por grupo e por recortes interseccionais (intersectional slices)
  • Checagens de qualidade de rótulo e paridade de mensuração
  • Proveniência dos dados e relevância do período de tempo

Etapa 3: Estabelecer métricas de linha de base por recorte

Avalie no mínimo:

  • Métricas gerais
  • Métricas por recorte (TPR/FPR, precisão/recall, calibração)
  • Incerteza e intervalos de confiança (confidence intervals) (grupos pequenos podem enganar)

Etapa 4: Mitigar iterativamente (dados e modelo)

  • Tente correções nos dados primeiro se rótulos/mensuração estiverem sob suspeita.
  • Tente correções de objetivo/limiar quando disparidades persistirem com dados limpos.
  • Mantenha um “registro de mudanças (change log)” claro para saber o que realmente fez diferença.

Etapa 5: Monitorar após a implantação

  • Acompanhe deriva e desempenho por subgrupo ao longo do tempo
  • Observe ciclos de retroalimentação
  • Ofereça mecanismos de contestação (recourse mechanisms) (apelações, revisão humana) quando as consequências forem altas

Exemplo prático de código: verificando métricas por recorte

Abaixo está um exemplo simplificado calculando taxas por grupo a partir da matriz de confusão. Em auditorias reais, você também calculará intervalos de confiança e considerará interseções (por exemplo, gênero × idade).

import numpy as np
from collections import defaultdict

def group_rates(y_true, y_pred, group):
    """
    y_true, y_pred: arrays of 0/1
    group: array of group labels (e.g., "A", "B")
    """
    out = {}
    for g in np.unique(group):
        idx = (group == g)
        yt, yp = y_true[idx], y_pred[idx]
        tp = np.sum((yt == 1) & (yp == 1))
        fp = np.sum((yt == 0) & (yp == 1))
        tn = np.sum((yt == 0) & (yp == 0))
        fn = np.sum((yt == 1) & (yp == 0))

        tpr = tp / (tp + fn) if (tp + fn) else np.nan  # recall
        fpr = fp / (fp + tn) if (fp + tn) else np.nan
        ppv = tp / (tp + fp) if (tp + fp) else np.nan  # precision
        out[g] = {"TPR": tpr, "FPR": fpr, "PPV": ppv, "n": int(np.sum(idx))}
    return out

# Example usage:
# y_true = np.array([...])
# y_pred = (model_scores > 0.5).astype(int)
# group  = np.array([...])  # e.g., self-identified demographic group
# print(group_rates(y_true, y_pred, group))

Como isso ajuda a distinguir vieses:

  • Se um grupo tem TPR muito pior com FPR semelhante, você pode ter problemas de representação, ruído de rótulo ou subajuste para esse grupo.
  • Se FPR é muito maior para um grupo no limiar escolhido, você pode precisar de mudanças na política de limiar, melhor calibração ou pesos de treinamento diferentes.

Armadilhas e equívocos comuns

“Se removermos atributos protegidos, o modelo é justo.”

Frequentemente é falso. Modelos podem reconstruir atributos protegidos a partir de proxies. Equidade exige medição e intenção, não apenas remoção de atributos.

“Equidade é resolvida ao balancear o conjunto de dados.”

Balancear ajuda na representação, mas não corrige viés de rotulagem, viés de mensuração ou viés histórico — e pode introduzir distorções de prevalência.

“Uma métrica de equidade é a certa.”

Contextos diferentes exigem definições diferentes, e muitas são matematicamente incompatíveis em cenários realistas. Por isso, a avaliação deve estar ligada à decisão e ao modelo de danos (veja Métricas de Equidade).

“Viés existe apenas nos dados.”

Escolhas de modelagem (funções de perda, limiares, capacidade, compressão, ciclos de retroalimentação) podem criar ou amplificar disparidades mesmo com dados cuidadosamente tratados.

Resumo: uma separação clara que orienta a ação

  • Viés nos dados surge de como o mundo aparece no conjunto de dados: amostragem, mensuração, rótulos e padrões históricos.
  • Viés nos modelos surge de como transformamos dados em decisões: objetivos, vieses indutivos, limiares, restrições e retroalimentação na implantação.

Um programa de mitigação confiável trata equidade como uma propriedade de ponta a ponta (end-to-end): melhora a qualidade e a representatividade dos dados, escolhe objetivos de modelo alinhados a metas de equidade, mede disparidades com métricas apropriadas e monitora continuamente os resultados no mundo real.