Conformal Prediction
Descobre como a conformal prediction fornece incerteza sem distribuição para IA. Implementa conjuntos de predição com o Ultralytics YOLO26 para garantir resultados fiáveis no modelo.
A predição conformal é um framework estatístico em aprendizado de máquina (ML) que fornece medidas de incerteza livres de distribuição para predições de modelos. Em vez de emitir uma única predição pontual — como um rótulo de classe específico —, um preditor conformal emite um conjunto ou intervalo de predição que contém o valor verdadeiro com uma probabilidade especificada pelo usuário (por exemplo, 90% ou 95%). Esse framework envolve qualquer modelo de inteligência artificial (AI) para fornecer garantias estatísticas formais sem exigir alterações na arquitetura do modelo. Para obter uma lista exaustiva de ferramentas e pesquisas atualizadas, você pode explorar o repositório Awesome Conformal Prediction.
Como funciona a Previsão Conformal#
O mecanismo fundamental baseia-se em avaliar o quão incomum é uma nova previsão em comparação com exemplos passados usando uma pontuação de não conformidade.
- Treinamento do Modelo: Primeiro, treine um modelo de linha de base usando um conjunto de dados de treinamento padrão.
- Fase de Calibração: Passe um conjunto de dados de calibração separado e mantido em reserva pelo modelo treinado. Calcule uma pontuação de não conformidade para cada predição, como a probabilidade inversa na classificação de imagens.
- Cálculo de Quantil: Determine o nível de confiança alvo (por exemplo, 95%) e encontre o quantil correspondente dessas pontuações de calibração para construir os conjuntos de predição.
- Aplicação de Inferência: Durante a inferência ao vivo, avalie novas entradas e inclua todos os rótulos possíveis cujas pontuações fiquem abaixo do quantil de calibração.
Você pode explorar provas matemáticas dessa abordagem no tutorial A Gentle Introduction to Conformal Prediction ou aprender sobre abordagens de previsão de séries temporais para lidar com incertezas temporais.
Diferenciar a Previsão Conformal de Termos Relacionados#
É crucial distinguir este framework das métricas padrão usadas durante o testes de modelos:
- Predição Conformal vs. Pontuações de Confiança: Uma pontuação de confiança padrão reflete a certeza interna de um modelo, mas geralmente é mal calibrada e carece de garantias matemáticas. A predição conformal transforma essas pontuações brutas em conjuntos garantidos. Para ajustes tradicionais, consulte a calibração de probabilidade do scikit-learn.
- Predição Conformal vs. Acurácia: A acurácia é uma métrica histórica global que descreve com que frequência um modelo está correto em todo um conjunto de dados, enquanto a inferência conformal fornece um intervalo local específico para cada nova predição.
Aplicações no Mundo Real#
A previsão conformal é indispensável em áreas de alto risco onde conhecer os pontos cegos do modelo é crítico.
- Diagnósticos Médicos: Ao utilizar IA na saúde para analisar exames, um modelo pode gerar um conjunto de diagnósticos plausíveis em vez de uma única classe potencialmente incorreta. Isso garante que os clínicos investiguem todas as possibilidades viáveis, apoiando estudos recentes sobre medicina genômica e imagens confiáveis.
- Direção Autônoma: Na IA em sistemas automotivos, aplicar intervalos de predição à detecção de objetos gera uma região de confiança espacial ao redor de um pedestre, permitindo que os sistemas de frenagem do veículo considerem os movimentos de pior caso com segurança.
Implementação de Conjuntos de Previsão#
Bibliotecas como o MAPIE (Model Agnostic Prediction Interval Estimator) fornecem ferramentas integradas para Python, e tarefas de regressão frequentemente utilizam regressão quantílica conformal. Você também pode implementar uma lógica básica de predição conformal usando probabilidades de modelos avançados como o Ultralytics YOLO26. O exemplo a seguir constrói um conjunto de predição usando probabilidades de classificação do YOLO26, imitando a lógica de incluir as principais classes até que um limite cumulativo seja atingido.
from ultralytics import YOLO
# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0
# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5
for idx in sorted_indices:
class_name = results[0].names[idx]
class_prob = probs.data[idx].item()
prediction_set.append((class_name, round(class_prob, 3)))
cumulative_prob += class_prob
# Stop adding to the set once we reach the 95% coverage threshold
if cumulative_prob >= target_coverage:
break
print(f"95% Prediction Set: {prediction_set}")O desenvolvimento de sistemas confiáveis exige práticas de dados robustas para evitar que o desvio de dados arruíne a calibração. Ferramentas como a Ultralytics Platform simplificam o processo de coleta de novos conjuntos de dados de classificação, retreinamento de modelos e gerenciamento seguro da implantação de modelos. Você pode ler mais sobre a curadoria de dados balanceados em nosso guia sobre compreensão do viés de conjuntos de dados ou acompanhar os avanços mais recentes apresentados na conferência anual COPA conference.






