Conformal Prediction
Descobre como a previsão conformal fornece incerteza independente da distribuição para a IA. Implementa conjuntos de previsão com o Ultralytics YOLO26 para garantir resultados fiáveis do modelo.
A predição conformal é um quadro estatístico em aprendizagem automática (ML) que fornece medidas de incerteza independentes da distribuição para as predições do modelo. Em vez de produzir uma única predição pontual — como um rótulo de classe específico —, um preditor conformal produz um conjunto ou intervalo de predições que contém o valor verdadeiro com uma probabilidade especificada pelo utilizador (por exemplo, 90% ou 95%). Este quadro envolve qualquer modelo de inteligência artificial (AI) para fornecer garantias estatísticas formais sem exigir alterações à arquitetura do modelo. Para consultar uma lista exaustiva de ferramentas e investigação atualizadas, podes explorar o repositório Awesome Conformal Prediction.
Como funciona a predição conformal#
O mecanismo fundamental baseia-se na avaliação do grau de anormalidade de uma nova predição em comparação com exemplos anteriores, utilizando uma pontuação de não conformidade.
- Treino do modelo: Primeiro, treina um modelo de referência utilizando um conjunto de dados de treino padrão.
- Fase de calibração: Passa um conjunto de dados de calibração separado e reservado pelo modelo treinado. Calcula uma pontuação de não conformidade para cada predição, como a probabilidade inversa na classificação de imagens.
- Cálculo do quantil: Determina o nível de confiança pretendido (por exemplo, 95%) e encontra o quantil correspondente destas pontuações de calibração para construir os conjuntos de predições.
- Aplicação durante a inferência: Durante a inferência em tempo real, avalia novas entradas e inclui todos os rótulos possíveis cujas pontuações ficam abaixo do quantil de calibração.
Podes explorar as demonstrações 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.
Distinção entre predição conformal e termos relacionados#
É fundamental distinguir este quadro das métricas padrão utilizadas durante os testes do modelo:
- 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 é frequentemente mal calibrada e não oferece garantias matemáticas. A predição conformal transforma estas pontuações brutas em conjuntos garantidos. Para ajustes tradicionais, consulta a calibração de probabilidades do scikit-learn.
- Predição conformal vs. exatidão: A exatidão é uma métrica histórica global que descreve a frequência com que um modelo está correto em todo um conjunto de dados, enquanto a inferência conformal fornece um intervalo local e específico para cada instância de cada nova predição.
Aplicações no mundo real#
A predição conformal é indispensável em áreas de alto risco, nas quais conhecer os pontos cegos do modelo é fundamental.
- Diagnóstico médico: Ao utilizar AI na área da saúde para analisar exames, um modelo pode produzir um conjunto de diagnósticos plausíveis em vez de uma única classe potencialmente incorreta. Isto garante que os profissionais clínicos investiguem todas as possibilidades viáveis, apoiando estudos recentes sobre medicina genómica e imagiologia fiáveis.
- Condução autónoma: Em sistemas automóveis com AI, a aplicação de intervalos de predição à deteção de objetos 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, com segurança, os movimentos do pior caso.
Implementação de conjuntos de predições#
Bibliotecas como MAPIE (Estimador de intervalos de predição independente do modelo) fornecem ferramentas integradas para Python, e as tarefas de regressão utilizam frequentemente a regressão quantílica conformal. Também podes implementar uma lógica básica de predição conformal utilizando probabilidades de modelos avançados, como o Ultralytics YOLO26. O exemplo seguinte constrói um conjunto de predições utilizando probabilidades de classificação do YOLO26, imitando a lógica de incluir as classes com maior probabilidade até atingir um limiar cumulativo.
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 fiáveis exige práticas robustas de dados para evitar que a deriva dos dados prejudique a calibração. Ferramentas como a Ultralytics Platform simplificam o processo de recolha de novos conjuntos de dados de classificação, retreino de modelos e gestão segura da implementação de modelos. Podes saber mais sobre a curadoria de dados equilibrados no nosso guia sobre como compreender o enviesamento dos conjuntos de dados ou acompanhar os avanços mais recentes apresentados na conferência COPA anual.









