- IA
- Métricas
- Calibração
Brier e ECE: como medir se a IA sabe quando não sabe
Como o One Model Arena usa Brier e ECE para medir se a confiança de um modelo combina com o acerto, com contas passo a passo e limites.
Junior Martins · 6 min de leitura
No One Model Arena, cada modelo não responde só "Sim" ou "Não". Ele devolve uma probabilidade para cada alternativa. Isso permite medir duas coisas diferentes: se o modelo acertou e se a confiança dele fazia sentido.
Acertar e estar calibrado não são a mesma coisa. Errar com 95% de certeza é pior que hesitar. A contagem de pontos não mostra isso. Brier e ECE mostram. Nas duas métricas, menor é melhor.
Brier: quão longe ficou a probabilidade
O Brier é uma nota de erro das probabilidades. A alternativa certa deveria receber 100%. As outras, 0%. O Brier mede a distância entre o que o modelo disse e esse ideal.
A conta por pergunta, como está em shared/scoring.ts:
Brier da pergunta = Σ (p_k − y_k)²
p_k = probabilidade que o modelo deu à alternativa k
y_k = 1 se k é a alternativa certa, 0 caso contrário
Σ = soma sobre todas as alternativas
O boletim mostra a média entre as perguntas elegíveis. O quadrado impede que erros positivos e negativos se anulem e pune mais as distâncias grandes.
Por que vai de 0 a 2
Na arena, o Brier vai de 0 (certeza correta) a 2 (certeza errada), porque a soma passa por todas as alternativas. Se o modelo dá 100% a uma alternativa errada, há dois erros máximos: 1 na alternativa escolhida e 1 na correta. A conta fica 1² + 1² = 2.
Muita gente conhece o Brier de 0 a 1. Essa é a convenção binária, que olha só a probabilidade de "Sim". A arena soma Sim e Não, então numa pergunta binária o valor é exatamente o dobro. Antes de comparar boletins de ferramentas diferentes, confira a fórmula.
Exemplo: uma pergunta de Sim ou Não
Gabarito: Sim. Exemplos ilustrativos.
| O modelo disse | Conta | Brier |
|---|---|---|
| Sim 100%, Não 0% | (1 − 1)² + (0 − 0)² | 0 |
| Sim 90%, Não 10% | (0,9 − 1)² + (0,1 − 0)² | 0,02 |
| Sim 60%, Não 40% | (0,6 − 1)² + (0,4 − 0)² | 0,32 |
| Sim 50%, Não 50% | (0,5 − 1)² + (0,5 − 0)² | 0,5 |
| Sim 10%, Não 90% | (0,1 − 1)² + (0,9 − 0)² | 1,62 |
| Sim 0%, Não 100% | (0 − 1)² + (1 − 0)² | 2 |
Repare na linha de 90%: na convenção de 0 a 1 seria (0,9 − 1)² = 0,01. Na arena, 0,02.
Com três alternativas
Exemplo ilustrativo: a pergunta tem os níveis Baixa, Média e Alta. O modelo responde Baixa 10%, Média 70%, Alta 20%.
Se o gabarito é Média:
(0,1 − 0)² + (0,7 − 1)² + (0,2 − 0)²
= 0,01 + 0,09 + 0,04
= 0,14
Se o gabarito fosse Alta, com a mesma resposta:
(0,1 − 0)² + (0,7 − 0)² + (0,2 − 1)²
= 0,01 + 0,49 + 0,64
= 1,14
A mesma distribuição custa cerca de oito vezes mais quando a convicção está no lugar errado.
Referência útil: um chute uniforme entre K alternativas tem Brier 1 − 1/K. Dá 0,5 com duas e cerca de 0,667 com três. Não é uma linha universal entre bom e ruim.
O caso real das reuniões
Na edição publicada do relatório, Jev e Decisions fizeram os mesmos 35 de 36 pontos na maratona de reuniões. O Brier separou os dois.
Numa pergunta com gabarito Sim, o Decisions disse Não com 95%:
(0,05 − 1)² + (0,95 − 0)² = 0,9025 + 0,9025 = 1,805
Numa outra, o Jev disse Sim com 76%. Caiu na faixa de revisão humana, então não pontuou:
(0,76 − 1)² + (0,24 − 0)² = 0,0576 + 0,0576 = 0,1152
O erro convicto pesou muito mais que a dúvida. Médias nas 36 perguntas: Jev 0,00907, Decisions 0,05027. Mesmos pontos, Brier diferente. O Clef acertou as 36 e teve o menor Brier, 0,00141.
ECE: a confiança combina com o acerto
ECE é Expected Calibration Error, ou erro de calibração esperado. A pergunta é simples: se o modelo diz 90% em muitas respostas, ele acerta cerca de 90% delas?
Se acerta só 70%, há excesso de confiança. Se acerta 100%, a confiança ficou abaixo do acerto observado. O ECE usa a diferença absoluta, então os dois lados contam como descalibração.
Como a arena calcula
A implementação está em shared/brava-report.ts:
- Para cada resposta, pega a alternativa de maior probabilidade. Essa probabilidade é a confiança.
- Marca acerto 1 se essa alternativa é exatamente o gabarito, 0 caso contrário.
- Agrupa as respostas em cinco faixas: 50–60%, 60–70%, 70–80%, 80–90% e 90–100%.
- Em cada faixa, calcula a confiança média e a fração de acertos.
- Multiplica a diferença absoluta pelo peso da faixa e soma tudo.
ECE = Σ (n_b / N) × |acerto_b − confiança_b|
n_b = respostas na faixa b
N = total de respostas utilizáveis do modelo
O peso importa. Uma faixa com 80 respostas precisa pesar quatro vezes mais que uma com 20.
Exemplo passo a passo
Exemplo ilustrativo: um modelo respondeu 10 perguntas.
Quatro respostas caíram na faixa 90–100%, com confianças 95%, 95%, 92% e 98%. Ele acertou 3.
Seis caíram na faixa 60–70%, com confianças 62%, 65%, 68%, 65%, 62% e 68%. Ele acertou 4.
Faixa 90–100%
confiança média = (0,95 + 0,95 + 0,92 + 0,98) ÷ 4 = 0,95
acerto = 3 ÷ 4 = 0,75
diferença = |0,75 − 0,95| = 0,20
peso = 4 ÷ 10 = 0,4
contribuição = 0,4 × 0,20 = 0,08
Faixa 60–70%
confiança média = 3,90 ÷ 6 = 0,65
acerto = 4 ÷ 6 ≈ 0,667
diferença = |0,667 − 0,65| ≈ 0,0167
peso = 6 ÷ 10 = 0,6
contribuição = 0,6 × 0,0167 = 0,01
ECE = 0,08 + 0,01 = 0,09 = 9%
A média simples das duas diferenças daria cerca de 10,8%. Estaria errada, porque ignora o peso das faixas.
O problema está onde o modelo se diz quase certo: ali, ele erra uma em cada quatro.
Detalhes que mudam a leitura
- O acerto do ECE não é o acerto do placar. "Sim 60%, Não 40%" com gabarito Sim conta como acerto no ECE, mas vai para revisão humana e vale zero nos pontos.
- Em perguntas com várias alternativas, a maior probabilidade pode ficar abaixo de 50%. Esses casos entram na primeira faixa. A última faixa inclui 100%.
- A faixa é escolhida por
floor((p − 0.5) × 10), limitado entre 0 e 4. Valores exatamente no limite podem ser afetados pelo ponto flutuante.
Por que um modelo vence no Brier e outro no ECE
Na Resiliência, a edição publicada mostra: Decisions com ECE de 0,456%, Clef com o menor Brier, 0,011596.
O Brier olha todas as probabilidades diante do gabarito e mistura qualidade preditiva com calibração. O ECE olha só a alternativa mais provável, agrupada em faixas.
Um modelo binário que sempre diz 50% e acerta metade tem ECE zero e Brier 0,5. A confiança combina com o acerto, mas ele não distingue nenhum caso. Calibração sozinha não basta.
Por isso a arena usa o Brier no desempate e mostra o ECE como informação complementar. Na Resiliência, Decisions fez 98,11 pontos e Clef 97,44, uma distância de cerca de 0,67 ponto. Abaixo de 1 ponto, a regra considera empate. A vantagem de Brier do Clef foi de cerca de 0,00653, acima do mínimo de 0,005. O Clef venceu no desempate. O ECE não entra nessa regra.
Os limites
Amostra pequena engana. Com três respostas numa faixa, um acerto a mais ou a menos muda a taxa em cerca de 33,3 pontos percentuais.
Um caso real: nas imagens, o Clef teve 4 respostas na faixa 60–70%. Confiança média de 64,46%, acerto de 1 em 4. Diferença de 39,46 pontos percentuais. Como a faixa pesa só 5% das 80 respostas, a contribuição ao ECE foi de 1,97 ponto percentual.
Outros limites que o relatório registra:
- Faixas vazias contribuem zero. Não entram como observações.
- O número e os limites das faixas mudam o resultado. As cinco faixas são uma escolha da arena.
- Dentro de uma faixa, excesso e falta de confiança podem se compensar.
- O Brier comparativo usa só itens respondidos por todos. O ECE usa as respostas de cada modelo. Com falhas de API, os conjuntos podem diferir.
- Não há intervalo de confiança para o ECE nesta edição. Nas imagens, os ECE foram 6,125% e 6,081%. Essa proximidade não sustenta preferência prática.
- ECE baixo não prova sinceridade. "Honestidade da confiança" é analogia, não intenção do modelo.
Como eu uso isso
Eu começo pela qualidade da decisão e pelo custo do erro no cenário real. Uso o Brier para avaliar as probabilidades e o ECE para examinar limiares de confiança. Olho também revisão humana, custo e tempo. E revalido tudo com exemplos da própria aplicação.
O capítulo "Brier e ECE" do relatório tem as contas faixa por faixa de cada modelo. O código está em shared/scoring.ts. Para aprofundar em calibração, a referência citada no relatório é Guo et al., On Calibration of Modern Neural Networks (2017).