Descubra como a previsão conformacional fornece incerteza independente da distribuição para a IA. Implemente conjuntos de previsão com Ultralytics para garantir resultados fiáveis do modelo.
A previsão conformacional é um quadro estatístico na aprendizagem automática (ML) que fornece medidas de incerteza independentes da distribuição para as previsões do modelo. Em vez de produzir uma previsão pontual — como um rótulo de classe específico —, um previsor conformacional produz um conjunto de previsões ou um intervalo que contém o valor verdadeiro com uma probabilidade especificada pelo utilizador (por exemplo, 90% ou 95%). Esta estrutura envolve qualquer modelo de inteligência artificial (IA) para fornecer garantias estatísticas formais sem necessitar de alterações na arquitetura do modelo. Para uma lista exaustiva de ferramentas e investigação atualizadas, pode explorar o repositório Awesome Conformal Prediction.
O mecanismo fundamental baseia-se na avaliação do grau de anomalia de uma nova previsão em comparação com exemplos anteriores, utilizando um índice de não conformidade.
Pode explorar as demonstrações matemáticas desta abordagem no tutorial «A Gentle Introduction to Conformal Prediction» ou conhecer abordagens de previsão de séries temporais para lidar com incertezas temporais.
É fundamental distinguir este quadro das métricas padrão utilizadas durante os testes de modelos:
A previsão conforme é indispensável em áreas de alto risco, onde é fundamental conhecer os pontos cegos do modelo.
Bibliotecas como o MAPIE (Model Agnostic Prediction Interval Estimator) oferecem ferramentas integradas para Python, e as tarefas de regressão utilizam frequentemente a regressão quantílica conformacional. Também é possível implementar uma lógica básica de previsão conformacional utilizando probabilidades de modelos avançados como Ultralytics . O exemplo a seguir constrói um conjunto de previsões utilizando probabilidades de classificação do YOLO26, imitando a lógica de incluir as classes principais 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}")
O desenvolvimento de sistemas fiáveis requer práticas de dados robustas para evitar que a deriva de dados comprometa a calibração. Ferramentas como a Ultralytics simplificam o processo de recolha de novos conjuntos de dados de classificação, retreinamento de modelos e gestão segura da implementação dos modelos. Pode ler mais sobre a curadoria de dados equilibrados no nosso guia sobre a compreensão do viés nos conjuntos de dados, ou track mais recentes avanços apresentados na conferência anual da COPA.

Comece sua jornada com o futuro do aprendizado de máquina