Conformal Prediction
Scopri come la conformal prediction fornisce un'incertezza senza distribuzione per l'AI. Implementa set di previsione con Ultralytics YOLO26 per garantire risultati del modello affidabili.
La conformal prediction è un framework statistico nel machine learning (ML) che fornisce misure di incertezza indipendenti dalla distribuzione per le predizioni del modello. Invece di restituire una singola predizione puntuale — come una specifica etichetta di classe — un conformal predictor restituisce un insieme o un intervallo di predizione che contiene il valore reale con una probabilità specificata dall'utente (ad esempio, 90% o 95%). Questo framework avvolge qualsiasi modello di intelligenza artificiale (AI) per fornire garanzie statistiche formali senza richiedere modifiche all'architettura del modello. Per un elenco completo di strumenti e ricerche aggiornati, puoi esplorare il repository Awesome Conformal Prediction.
Link to this sectionCome funziona la Conformal Prediction#
Il meccanismo fondamentale si basa sulla valutazione di quanto sia insolita una nuova predizione rispetto a esempi passati, utilizzando un punteggio di non conformità (nonconformity score).
- Addestramento del modello: Per prima cosa, addestra un modello di base utilizzando un set di dati di addestramento standard.
- Fase di calibrazione: Passa un set di dati di calibrazione separato e riservato attraverso il modello addestrato. Calcola un punteggio di non conformità per ogni predizione, come ad esempio la probabilità inversa nella classificazione delle immagini.
- Calcolo dei quantili: Determina il livello di confidenza target (ad esempio, 95%) e trova il quantile corrispondente di questi punteggi di calibrazione per costruire gli insiemi di predizione.
- Applicazione dell'inferenza: Durante l'inferenza live, valuta i nuovi input e includi tutte le etichette possibili i cui punteggi sono inferiori al quantile di calibrazione.
Puoi esplorare le dimostrazioni matematiche di questo approccio nel tutorial A Gentle Introduction to Conformal Prediction o approfondire gli approcci di previsione per serie temporali per gestire le incertezze temporali.
Link to this sectionDifferenziare la Conformal Prediction da termini correlati#
È fondamentale distinguere questo framework dalle metriche standard utilizzate durante il test del modello:
- Conformal Prediction vs. Punteggi di confidenza: Un punteggio di confidenza standard riflette la certezza interna di un modello, ma è spesso mal calibrato e privo di garanzie matematiche. La conformal prediction trasforma questi punteggi grezzi in insiemi garantiti. Per aggiustamenti tradizionali, consulta la calibrazione della probabilità di scikit-learn.
- Conformal Prediction vs. Accuratezza: L'accuratezza è una metrica storica globale che descrive quanto spesso un modello è corretto su un intero dataset, mentre la conformal inference fornisce un intervallo locale e specifico per l'istanza per ogni nuova predizione.
Link to this sectionApplicazioni nel mondo reale#
La conformal prediction è indispensabile in campi ad alta posta in gioco dove conoscere i punti ciechi del modello è fondamentale.
- Diagnostica medica: Quando sfrutti l'AI nella sanità per analizzare scansioni, un modello potrebbe restituire un insieme di diagnosi plausibili invece di una classe singola, potenzialmente errata. Questo assicura che i medici indaghino su tutte le possibilità valide, supportando studi recenti sulla medicina genomica e diagnostica per immagini affidabile.
- Guida autonoma: Nei sistemi AI in ambito automobilistico, l'applicazione di intervalli di predizione al rilevamento di oggetti genera una regione di confidenza spaziale attorno a un pedone, consentendo ai sistemi di frenata del veicolo di tenere conto in modo sicuro dei movimenti peggiori.
Link to this sectionImplementazione degli insiemi di predizione#
Librerie come MAPIE (Model Agnostic Prediction Interval Estimator) forniscono strumenti integrati per Python, e le attività di regressione utilizzano spesso la regressione quantilica conforme. Puoi anche implementare una logica di base di conformal prediction utilizzando le probabilità di modelli avanzati come Ultralytics YOLO26. L'esempio seguente costruisce un insieme di predizione utilizzando le probabilità di classificazione di YOLO26, imitando la logica di inclusione delle classi principali fino al raggiungimento di una soglia cumulativa.
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}")Lo sviluppo di sistemi affidabili richiede pratiche di dati robuste per evitare che il data drift rovini la calibrazione. Strumenti come la Piattaforma Ultralytics semplificano il processo di raccolta di nuovi dataset di classificazione, riaddestramento dei modelli e gestione sicura del deployment del modello. Puoi leggere di più sulla cura di dati bilanciati nella nostra guida sulla comprensione dei bias nei dataset, o seguire gli ultimi progressi presentati all'annuale conferenza COPA.






