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 previsão conformal é uma estrutura estatística em machine learning (ML) que fornece medidas de incerteza independentes da distribuição para previsões de modelos. Em vez de gerar uma única previsão pontual — como um rótulo de classe específico —, um previsor conformal gera um conjunto ou intervalo de previsão que contém o valor real com uma probabilidade especificada pelo utilizador (por exemplo, 90% ou 95%). Esta estrutura envolve qualquer modelo de artificial intelligence (AI) para fornecer garantias estatísticas formais sem exigir alterações na arquitetura do modelo. Para uma lista exaustiva de ferramentas e pesquisas atualizadas, podes explorar o repositório Awesome Conformal Prediction.
Link to this sectionComo 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.
- Model Training: Primeiro, treina um modelo de base usando um conjunto de dados de treino padrão.
- Calibration Phase: Passa um conjunto de dados de calibração separado e retido pelo modelo treinado. Calcula uma pontuação de não conformidade para cada previsão, como a probabilidade inversa em image classification.
- Quantile Calculation: Determina o nível de confiança alvo (por exemplo, 95%) e encontra o quantil correspondente destas pontuações de calibração para construir os conjuntos de previsão.
- Inference Application: Durante a inferência em tempo real, avalia novas entradas e inclui todos os rótulos possíveis cujas pontuações caiam abaixo do quantil de calibração.
Podes explorar provas matemáticas desta 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.
Link to this sectionDiferenciar a Previsão Conformal de Termos Relacionados#
É crucial distinguir esta estrutura das métricas padrão usadas durante model testing:
- Conformal Prediction vs. Confidence Scores: Uma pontuação de confiança padrão reflete a certeza interna de um modelo, mas é frequentemente mal calibrada e carece de garantias matemáticas. A previsão conformal transforma estas pontuações brutas em conjuntos garantidos. Para ajustes tradicionais, consulta a calibração de probabilidade do scikit-learn.
- Conformal Prediction vs. Accuracy: A precisão é uma métrica histórica global que descreve com que frequência um modelo está correto em todo um conjunto de dados, enquanto a conformal inference fornece um intervalo local e específico da instância para cada nova previsão.
Link to this sectionAplicações no Mundo Real#
A previsão conformal é indispensável em áreas de alto risco onde conhecer os pontos cegos do modelo é crítico.
- Medical Diagnostics: Ao aproveitar a IA nos cuidados de saúde para analisar exames, um modelo pode gerar um conjunto de diagnósticos plausíveis em vez de uma única classe potencialmente incorreta. Isto garante que os médicos investiguem todas as possibilidades viáveis, apoiando estudos recentes sobre medicina genómica e imagiologia fiáveis.
- Autonomous Driving: Em sistemas de IA na indústria automóvel, a aplicação de intervalos de previsão a object detection gera uma região de confiança espacial em torno de um peão, permitindo que os sistemas de travagem do veículo tenham em conta os movimentos do pior cenário de forma segura.
Link to this sectionImplementação de Conjuntos de Previsão#
Bibliotecas como MAPIE (Model Agnostic Prediction Interval Estimator) fornecem ferramentas integradas para Python, e as tarefas de regressão utilizam frequentemente regressão quantílica conformal. Também podes implementar uma lógica básica de previsão conformal usando probabilidades de modelos avançados como o Ultralytics YOLO26. O exemplo seguinte cria um conjunto de previsão usando probabilidades de classificação do YOLO26, imitando a lógica de incluir as classes de topo até que um limiar 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}")Desenvolver sistemas fiáveis requer práticas de dados robustas para evitar que o data drift arruíne a calibração. Ferramentas como a Ultralytics Platform simplificam o processo de recolha de novos classification datasets, re-treino de modelos e gestão segura de model deployment. Podes ler mais sobre a curadoria de dados equilibrados no nosso guia sobre compreensão de enviesamento de conjuntos de dados, ou acompanhar os últimos avanços apresentados na conferência anual COPA conference.






