Aula 7: Fairness Algorítmica — Definições, Métricas e Mitigação

Computação e Sociedade

Marcos M. Raimundo — Instituto de Computação, UNICAMP

2026-09-28

Revisão e Introdução: Do Dado Enviesado à Decisão que Discrimina

Do Dado Enviesado à Decisão que Discrimina

Aula 6, em três peças:

1. Quatro espaços do dado (construto → observado → bruto → preparado), cada passagem com o seu viés.

2. Proxies reconstroem o atributo sensível removido — cegueira de atributo não resolve.

3. LGPD garante acesso, correção e revisão — mas não define “discriminatório”.

Ideia Central

Até aqui: viés é um problema de entrada — o dado já vem torto.

Dica

Isso explica por que um modelo discrimina — não diz o quanto, nem o que fazer.

Hoje: viés vira um problema de decisão — algo que se mede e se projeta contra, não um acidente de sorte.

O Roteiro de Hoje

  1. O que significa, matematicamente, dizer que uma decisão é “injusta”?
  1. Por que “esconder” o atributo sensível não resolve?
  1. Existe uma única definição correta de fairness?
  1. Fairness é ajuste depois de pronto, ou objetivo desde o início do treino?

Três Decisões, Três Danos

COMPAS (justiça criminal): réus negros com o dobro de chance de serem erroneamente marcados “alto risco” (ProPublica, 2016).

Recrutador Amazon (emprego): já visto na Aula 6 — hoje: como medir o viés antes de lançar? (Reuters, 2018)

Aviso

Saúde: algoritmo de alocação de cuidado subestimou sistematicamente pacientes negros mais graves — milhões receberam menos cuidado que pacientes brancos igualmente doentes (Science, 2019).

Ninguém escreveu “discrimine por raça” no código. Como medir isso antes de soltar o sistema em produção?

Pergunta

Ninguém programou para discriminar — e agora?

Nos três casos de abertura (COMPAS, Amazon, saúde), o modelo aprendeu o padrão discriminatório do próprio dado histórico, sem que ninguém tivesse escrito uma regra explícita de discriminação. Antes de qualquer definição formal de fairness, pense: se dois times de engenharia, um em cada empresa, tivessem querido checar isso antes do lançamento, o que precisariam ter comparado — e entre quem?

Dica: pense em o que precisa ser mantido igual, e para quais grupos, para que uma comparação faça sentido.

  • □ Bastaria comparar a acurácia geral do modelo entre o grupo privilegiado e o não privilegiado; se as duas acurácias forem parecidas, o modelo não discrimina.
  • □ É preciso comparar, entre os grupos, alguma medida do resultado da decisão (quem é aprovado, quem é sinalizado como risco, quem recebe o recurso) — acurácia geral sozinha pode escapar de repartir o erro de forma desigual.
  • □ Se o time descobrir uma diferença de tratamento entre os grupos, essa diferença já basta, sozinha, para provar que o modelo é injusto, sem mais nenhuma outra consideração.
  • □ Essa checagem só é necessária uma vez, antes do lançamento — depois de aprovado, o modelo pode ser considerado justo permanentemente, mesmo enquanto novos dados chegam.

V/F — Ninguém Programou Para Discriminar — Resposta

Dica

  • ✗ Falso — acurácia geral pode esconder um erro concentrado num grupo (o caso da Aula 6: 99% de acurácia geral, 100% de erro num grupo minoritário).
  • ✔ Verdadeiro — é exatamente o que o resto da aula formaliza: comparar uma medida do resultado da decisão entre grupos definidos por um atributo sensível.
  • ✗ Falso — o Bloco 4 mostra que existem várias métricas de injustiça, cada uma capturando uma noção diferente; uma diferença pode violar uma métrica e não outra, e a escolha de qual métrica importa é, ela mesma, uma decisão ética.
  • ✗ Falso — o Bloco 6 mostra que fairness estática, medida uma vez, não é suficiente: decisões de hoje mudam o dado de amanhã.

Seguindo: para comparar “o resultado da decisão entre grupos” com precisão, precisamos primeiro entender como a máquina chega a essa decisão.

Intuição: Como uma Máquina “Aprende” uma Decisão

O Motor Comum: Máxima Verossimilhança

Aprendizado de máquina: achar o modelo \(f\) que torna o dado observado \(X\) o mais provável.

Dica

\[\max_{f} \; P_f(X)\]

Para prever um resultado \(Y\) a partir de uma evidência \(X\):

Dica

\[\max_{f} \; P_f(Y \mid X)\]

Não é certeza — é o melhor palpite informado, calibrado pela frequência do padrão no dado de treino.

Exemplo-Fio: o Empréstimo

Evidência (\(X\)): salário (R$ 2.300), dívida (R$ 5.000), posse de imóvel.

Resultado (\(Y\)): bom pagador (\(Y{=}0\)) ou mau pagador (\(Y{=}1\)).

Dica

Objetivo: aprender a calcular \(P(Y{=}0 \mid X)\) com precisão, a partir de casos passados.

Mesmo motor dos três casos da Abertura:

  • COMPAS calcula \(P(\text{reincidência}\mid \cdot)\);
  • Amazon calculava \(P(\text{bom contratado}\mid \cdot)\);
  • saúde calculava \(P(\text{necessidade alta}\mid \cdot)\).

Nenhum atributo sensível apareceu — ainda.

Elaborado a partir da apresentação-base (Raimundo, 2025).

O Dado Sensível \(Z\) e a Falha da “Cegueira Deliberada”

O Atributo Sensível \(Z\)

Dado real frequentemente carrega, entre suas colunas (ou entre proxies), um atributo sensível \(Z\) — raça, gênero, idade.

Aviso

Para o modelo, \(Z\) é só mais uma coluna — ele usa qualquer padrão que melhore a previsão, inclusive um baseado em \(Z\).

“Justiça Pela Ignorância” — e Por Que Falha

Reação intuitiva: tirar \(Z\) do dado de treino. Sem a coluna “raça”, como discriminar por raça?

Parcialidade mesmo desconhecendo

“Mesmo removendo \(Z\) explicitamente, o modelo frequentemente consegue reconstruí-lo a partir de variáveis correlacionadas (proxies, como o CEP).”

Já visto na Aula 6: CEP como proxy de raça/classe; histórico de utilização de saúde como proxy de raça (caso da seguradora).

Dica

Se cegueira não resolve, a saída é o oposto: definir explicitamente, em matemática, o que é uma decisão justa em relação a \(Z\).

Pergunta

Por que tirar a coluna não basta?

Uma fintech decide remover a coluna “gênero” do seu modelo de concessão de crédito, para evitar discriminação. Meses depois, uma auditoria interna encontra uma disparidade de aprovação entre clientes que se identificam como homens e mulheres, mesmo sem a coluna “gênero” ter sido usada em nenhum momento do treino. Avalie as afirmações sobre esse cenário.

Dica: pense em quais outras colunas do dado de uma fintech (profissão, histórico de consumo, tipo de plano de celular, por exemplo) podem estar correlacionadas com gênero, mesmo sem ser gênero.

  • □ A auditoria só poderia ter encontrado essa disparidade por erro de cálculo, já que é matematicamente impossível discriminar por um atributo que nunca esteve no dado de treino.
  • □ É plausível que outras colunas do dado (profissão, categoria de gasto, tipo de estabelecimento frequentado) funcionem como proxies de gênero, permitindo que o modelo reconstrua esse padrão indiretamente.
  • □ Se a fintech também removesse todas as colunas fortemente correlacionadas com gênero, uma de cada vez, até não sobrar nenhuma correlação individual forte, isso garantiria matematicamente que a disparidade desapareceria.
  • □ Essa mesma falha se aplicaria a um modelo de triagem de currículos que removesse a coluna “nome”, mas mantivesse a coluna “instituição de ensino”, numa sociedade em que o acesso a diferentes instituições é desigual entre grupos.

V/F — Por Que Tirar a Coluna Não Basta — Resposta

Dica

  • ✗ Falso — é exatamente o mecanismo descrito na aula: proxies reconstroem a informação removida, sem erro de cálculo nenhum envolvido.
  • ✔ Verdadeiro — esse é o mecanismo da falha de “justiça pela ignorância”: informação sensível sobrevive, espalhada, em variáveis correlacionadas.
  • ✗ Falso — remover proxies individuais não garante a remoção de padrões que emergem de combinações de variáveis, cada uma fracamente correlacionada com \(Z\) sozinha, mas conjuntamente informativas.
  • ✔ Verdadeiro — mesmo mecanismo de proxy: a instituição de ensino carrega, de forma correlacionada, informação sobre origem socioeconômica e, indiretamente, sobre atributos sensíveis distribuídos de forma desigual entre instituições.

Seguindo: se cegueira não resolve, como definimos, com uma fórmula, o que é (in)justiça?

Definindo (In)Justiça com Probabilidade: as Muitas Faces do Fairness

Injustiça Individual

Dica

\[P(Y{=}0 \mid X, Z{=}\text{branca}) > P(Y{=}0 \mid X, Z{=}\text{negra})\]

Mesmo perfil financeiro \(X\), resultado diferente conforme \(Z\) — a assinatura matemática da discriminação.

Injustiça de Grupo: Disparidade de Utilidade

Não escala olhar pessoa a pessoa — versão agregada por grupo, com utilidade \(U\) (benefício/dano de uma decisão):

Dica

\[\Delta = \left| \mathbb{E}[U(Y_t, A_t) \mid Z{=}0] - \mathbb{E}[U(Y_t, A_t) \mid Z{=}1] \right|\]

Diferença entre o benefício médio que cada grupo recebe — compara populações, não indivíduos.

Paridade Demográfica

Dica

\[P(\hat{Y}{=}0 \mid Z{=}\text{branca}) = P(\hat{Y}{=}0 \mid Z{=}\text{negra})\]

Taxas de aprovação iguais entre grupos — sem checar qualificação real.

Aviso

Crítica: ignora se quem foi aprovado de fato merecia.

Igualdade de Oportunidade

Dica

\[P(\hat{Y}{=}0 \mid Y{=}1, Z{=}\text{branca}) = P(\hat{Y}{=}0 \mid Y{=}1, Z{=}\text{negra})\]

Entre quem de fato é qualificado, a chance de aprovação deve ser igual.

Aviso

Crítica: nada diz sobre como os não qualificados de cada grupo são tratados.

O Teorema da Impossibilidade

Dica

Escolher a métrica é uma decisão de valores, não um detalhe técnico neutro — mesma tese da Aula 1, aplicada aqui.

Pergunta

Duas métricas, dois resultados diferentes

Um sistema de admissão universitária seleciona candidatos por nota de corte. Historicamente, o grupo A teve menos acesso a preparação de qualidade do que o grupo B, então uma fração menor do grupo A chega “qualificada” (\(Y=1\)) segundo os critérios da prova. A universidade tem duas opções de desenho do sistema: (i) ajustar a nota de corte para que a taxa de aprovação final seja igual entre os grupos A e B; (ii) manter a nota de corte única, mas garantir que, entre os candidatos realmente qualificados de cada grupo, a chance de aprovação seja igual.

Dica: relacione cada opção com uma das duas métricas definidas acima, e pense no que cada uma faz com candidatos não qualificados.

  • □ A opção (i) implementa Paridade Demográfica, e a opção (ii) implementa Igualdade de Oportunidade.
  • □ As duas opções, (i) e (ii), são matematicamente equivalentes sempre que a nota de corte é a mesma para os dois grupos.
  • □ Se o grupo A tem uma fração menor de candidatos qualificados do que o grupo B, a opção (i) exigirá, para igualar as taxas de aprovação, aprovar uma fração maior de candidatos não qualificados do grupo A do que do grupo B.
  • □ A opção (ii), por si só, garante automaticamente que os candidatos não qualificados de ambos os grupos sejam reprovados nas mesmas taxas.

V/F — Duas Métricas, Dois Resultados — Resposta

Dica

  • ✔ Verdadeiro — (i) iguala taxas de aprovação totais (Paridade Demográfica); (ii) iguala a chance de aprovação só entre qualificados (Igualdade de Oportunidade).
  • ✗ Falso — são equivalentes só no caso particular em que a fração de qualificados já é igual entre os grupos; quando as taxas de qualificação real diferem (como no enunciado), as duas opções produzem resultados diferentes.
  • ✔ Verdadeiro — é exatamente a crítica formal à Paridade Demográfica: para igualar a taxa total quando a qualificação real difere, o sistema precisa compensar aprovando não qualificados do grupo com menos qualificados.
  • ✗ Falso — Igualdade de Oportunidade só controla o tratamento de quem é qualificado; não impõe nada sobre a taxa de falso positivo entre não qualificados de cada grupo, que pode continuar desigual.

Seguindo: se toda métrica estática tem um limite, existe uma forma diferente de perseguir fairness — não igualando, mas melhorando o pior caso.

Fairness Rawlsiana: Melhorando a Vida de Quem Está Pior

Uma Alternativa a “Igualar”: Melhorar o Pior Caso

Em vez de igualar grupos, melhorar o resultado de quem está em pior situação — mesmo sem igualdade perfeita.

Dica

Princípio da Diferença (Rawls): “desigualdades […] para o maior benefício dos membros menos favorecidos da sociedade.”

John Rawls (retrato de victor066).

Fairness Rawlsiana em Linguagem de ML

Dica

\[\max_{f} \; \left( \min_{z} \; \mathbb{E}[U \mid Z=z] \right)\]

\(\min_z\): identifica o grupo pior servido pelo modelo atual.

\(\max_f\): escolhe, entre todos os modelos, o que maximiza essa utilidade mínima.

Dica

Resultado: o melhor modelo possível para quem está pior — não o que iguala médias.

Utilitarismo vs. Rawlsiano

Elaborado a partir da apresentação-base (Raimundo, 2025).

Aviso

Utilitarista: maximiza o bem-estar total — mesmo deixando um grupo bem atrás dos demais.

Dica

Rawlsiano/maximin: eleva especificamente o grupo pior servido, mesmo sem maximizar a soma.

Fairness de Longo Prazo: o Problema dos Rótulos Seletivos

Fairness Estática Não Basta

Todas as métricas até aqui são de um instante só — mas decisões de hoje mudam o dado de amanhã.

Dica

Mesmo mecanismo do laço de policiamento preditivo (Aula 6): decisão → dado novo → nova decisão.

O Ciclo do Crédito — e o Rótulo Que Nunca Aparece

Aviso

Rótulos seletivos: só observamos o resultado de quem recebeu decisão positiva — quem foi recusado nunca revela se pagaria.

Pergunta

O que a auditoria não está vendo

Um banco audita seu modelo de crédito comparando, entre clientes que receberam empréstimo, a taxa de inadimplência entre o grupo A e o grupo B, e encontra taxas parecidas — conclui que o modelo é justo. Um pesquisador de fora aponta que essa auditoria pode estar incompleta.

Dica: pense em quem nunca aparece nesse cálculo.

  • □ A crítica do pesquisador não faz sentido: se as taxas de inadimplência entre quem recebeu crédito são parecidas, isso já demonstra que o modelo trata os dois grupos de forma equivalente, em qualquer critério de fairness.
  • □ A auditoria descrita mede fairness só sobre o subconjunto de clientes com rótulo observado (quem recebeu crédito) — deixando de fora quem foi recusado, cujo comportamento de pagamento nunca é observado.
  • □ Se o grupo A tem uma taxa de recusa muito mais alta que o grupo B, é possível que exista discriminação concentrada justamente na decisão de recusar, e essa discriminação fique invisível numa auditoria que só olha para quem foi aprovado.
  • □ Esse problema de rótulo seletivo desaparece automaticamente se o banco simplesmente aumentar o tamanho da amostra de clientes aprovados analisados.

V/F — O Que a Auditoria Não Está Vendo — Resposta

Dica

  • ✗ Falso — a auditoria compara só quem recebeu crédito; nada garante que a decisão de conceder ou recusar, em si, seja igualmente justa entre os grupos.
  • ✔ Verdadeiro — é exatamente o problema dos rótulos seletivos: o rótulo (pagou/não pagou) só existe para quem foi aprovado.
  • ✔ Verdadeiro — a disparidade pode estar concentrada na própria decisão de aprovação/recusa, um ponto que a auditoria proposta não consegue enxergar.
  • ✗ Falso — mais amostra de aprovados não resolve, porque o viés está em quem nunca entra na amostra (os recusados), não no tamanho da amostra dos aprovados.

Dica

Seguindo: juntando os fios da aula — o que fica de responsabilidade de quem constrói esses sistemas?

Fechamento: Fairness Não É Plugin

Fairness Não É Plugin

Aviso

“Simplesmente aplicar ‘toolkits de fairness’ prontos, sem entendimento profundo, cria uma dívida técnica perigosa.” (Raimundo, 2025)

Escolher a métrica é uma decisão de valores (Bloco 4) — um toolkit genérico não decide isso por você.

Dica

“O desafio crítico é encontrar especialistas […] que consigam colaborar com especialistas de domínio, cientistas sociais e eticistas.”

Matemática Necessária, Não Suficiente

Sem escapar da matemática: qual métrica? como modelar longo prazo? como lidar com rótulo não observado?

Dica

Mas matemática sozinha não escolhe os valores por trás da métrica — o encontro técnica/ética da disciplina inteira.

Retomando o Roteiro

1. “Injusto”, matematicamente? Desigualdade explícita entre grupos de \(Z\) — individual, de grupo, ou Rawlsiana.

2. Por que esconder \(Z\) não resolve? Proxies reconstroem a informação — “justiça pela ignorância” falha.

3. Uma única definição? Não — Teorema da Impossibilidade: escolher é decisão ética.

4. Ajuste ou projeto desde o início? M²FGB e fairness de longo prazo tratam fairness como objetivo de treino.

Ponte para a Aula 8

Hoje: a matemática de tornar um algoritmo mais justo.

Dica

Aula 8: todo esse cálculo roda em algum lugar físico — o custo material e territorial da infraestrutura por trás de cada decisão automatizada.

Exercícios Soluções