Metriche di valutazione dei modelli di AI

Metriche di valutazione dei modelli di AI

Come si valutano i modelli di AI? Come si stabilisce la loro “forza”?

Benché si parli di modelli più potenti di altri e si pensi di giungere entro qualche anno alla realizzazione di una superintelligenza, vi sarà sempre una pluralità di parametri da considerare per valutare un modello e non uno solo. Similmente avviene quando giudichiamo un’auto rispetto al consumo, alla velocità, alla tenuta in curva e a molti altri parametri. Ci aspettiamo inoltre che nel cercare di ottenere il massimo di una di queste caratteristiche, finiamo per peggiorarne alcune altre.

Prima di affrontare questo problema vediamo cosa significa valutare un modello di AI.

Immagina che tu abbia costruito un piccolo robot che deve indovinare il colore di una mela guardandola: rosso, verde o giallo.

Per sapere se il tuo robot funziona bene, avresti bisogno di qualcosa come un “elenco di controllo” che ti dica quanto il robot è bravo a indovinare. In intelligenza artificiale (IA), chiamiamo questo elenco di controllo “metriche”, che non sono altro che modi per misurare quanto bene un modello (come il nostro robot indovino del colore delle mele) sta facendo il suo lavoro.

Veri o falsi positivi / veri o falsi negativi

Le mele possono essere solo di due colori adesso, per semplicità: rosse o non rosse (che possono essere verdi, gialle, etc.).

Veri Positivi (True Positive, TP): Supponiamo che il robot veda una mela rossa e dica “Questa mela è rossa!” – ha indovinato! Ogni volta che il robot fa questo, noi diciamo che questo è un “vero positivo”. Nel caso del modello di AI se il modello sta cercando di identificare email di spam e una email di spam è correttamente etichettata come spam, questa sarebbe considerata un vero positivo.

Veri Negativi (True Negative, TN): Pensa che il robot guardi una mela verde e dica “Questa mela non è rossa”. Bravo robot! Questo è un “vero negativo”. È come dire “Oggi non piove” quando fuori c’è il sole. Il modello ha predetto negativamente, e la previsione è corretta. Continuando con l’esempio delle email, se una email non-spam è correttamente etichettata come non-spam, questa sarebbe considerata un vero negativo.

Ora, fai finta di avere un mazzo di carte con disegnate mele di vari colori. Dici al tuo robot di prendere solo le carte con le mele rosse. Alla fine, vedrai:

  • Quante mele rosse ha preso correttamente (TP)
  • Quante volte ha preso una mela di un altro colore pensando fosse rossa (FP)
  • Quante volte ha lasciato una mela non rossa, facendo bene (TN)
  • Quante volte ha lasciato una mela rossa per errore (FN)

Immagina di avere una scatola con una divisione in mezzo. A sinistra metti tutte le volte che il robot ha detto “rossa” e a destra tutte le volte che ha detto “non rossa”. In alto, metti le carte rappresentanti le mele vere rosse e in basso quelle non rosse. Adesso hai quattro spazi:

  1. In alto a sinistra: Veri Positivi (dove il robot dice rossa, e la mela è effettivamente rossa)
  2. In alto a destra: Falsi Negativi (dove il robot dice non rossa, ma la mela è rossa)
  3. In basso a sinistra: Falsi Positivi (dove il robot dice rossa, ma la mela non è rossa)
  4. In basso a destra: Veri Negativi (dove il robot dice non rossa, e la mela non è rossa davvero)

Esempio in medicina
Il modello sta tentando di identificare se una persona ha una determinata malattia (positivo) o no (negativo).

TP: il modello identifica correttamente che un paziente è affetto dalla malattia.
TN: il modello identifica correttamente che un paziente non è affetto dalla malattia.
FP: il modello erroneamente identifica che un paziente sano è affetto dalla malattia (in questo caso, si parla anche di “falso allarme”).
FN: il modello non riesce a identificare che un paziente è affetto dalla malattia (in questo caso, si parla anche di “mancato rilevamento”).

Nella selezione delle metriche di valutazione, è importante considerare il contesto e l’equilibrio tra false positività e false negatività, poiché in alcuni scenari uno di questi errori può essere molto più costoso dell’altro.

Metriche

Le metriche di performance sono degli indicatori utilizzati per valutare l’efficacia dei modelli di intelligenza artificiale e machine learning. Queste variano a seconda del tipo di problema (classificazione, regressione, clustering, ecc.).

Di seguito sono riportate alcune delle principali metriche di classificazione:

Accuratezza (Accuracy): Questa metrica è come contare quante volte il robot indovina il colore giusto delle mele e dividere per il numero totale di mele che ha provato a indovinare. Per esempio, se il robot ha provato 100 mele e ne ha indovinate 90, la sua precisione è 90/100, quindi il 90%. In altri termini è la frazione dei campioni predetti correttamente rispetto al totale dei campioni. Si calcola come rapporto tra le predizioni corrette e il totale delle predizioni effettuate.

Precisione (Precision): Immagina che il robot dica “rossa” 50 volte, ma solo 40 delle mele che ha chiamato rosse erano davvero rosse. La precisione ci dice quanto spesso il robot ha ragione quando dice che una mela è rossa. Sarebbe 40/50, cioè l’80%. È la frazione delle predizioni corrette positive rispetto al totale delle predizioni positive. È un indicatore di quanto sia affidabile il modello quando predice la classe positiva.

Richiamo (Recall) o Sensibilità (Sensitivity): Consideriamo quante mele rosse ci sono in totale. Diciamo che ci sono 60 mele rosse, ma il robot ne ha individuate correttamente solo 40 come rosse. Il richiamo ci dice quante mele rosse il robot ha trovato rispetto al numero totale di mele rosse. Quindi, sarebbe 40/60, cioè circa il 67%. È la frazione delle vere positività identificate correttamente dal modello rispetto al totale delle istanze effettivamente positive.

Punteggio F1 (F1 Score): Questa è una metrica che combina la precisione e il richiamo per dare un unico numero. È utile quando hai bisogno di bilanciare la precisione e il richiamo, cioè quando entrambi sono importanti per te. Se il robot dovesse salvare solo mele rosse da un destino amaro, vorresti che il robot fosse sia preciso sia che non lasciasse indietro nessuna mela rossa. È la media armonica di precisione e richiamo. Questa metrica è utile perché considera sia i falsi positivi sia i falsi negativi. È particolarmente utile quando le distribuzioni delle classi sono sbilanciate.

Specificità: mostra il talento nello scegliere e mettere da parte tutte le mele “non rosse” senza sbagliare, cioè senza metterci in mezzo le mele etichettate come “rosse” per errore. È il rapporto tra veri negativi e la somma dei veri negativi e dei falsi positivi, e descrive l’efficacia del modello nel riconoscere le istanze negative.

Approfondimenti: metriche più complesse

Curva ROC (Receiver Operating Characteristic): grafica il vero tasso positivo (sensibilità) in funzione del falso tasso positivo (1 – specificità), a vari threshold. L’area sotto la curva (AUC – Area Under the Curve) è una misura della capacità del modello di distinguere tra le classi.

Per problemi di regressione, dove l’obiettivo è predire un valore continuo, le metriche di performance più comuni includono:

Errore Medio Assoluto (Mean Absolute Error, MAE): è la media dell’errore assoluto tra le predizioni e i valori veri.

Errore Quadratico Medio (Mean Squared Error, MSE): simile al MAE, ma pone più enfasi sugli errori più grandi poiché eleva al quadrato la differenza tra previsioni e valori reali.

Radice dell’Errore Quadratico Medio (Root Mean Squared Error, RMSE): è la radice quadrata dell’MSE e ha la stessa unità di misura delle variabili predette, rendendolo più interpretabile.

Per problemi di clustering, dove l’obiettivo è raggruppare insiemi di esempi in cluster basati sulla somiglianza, una metrica comune è:

Coefficiente di Silhouette: è una misura di come ogni punto in un cluster sia lontano dai punti nei cluster adiacenti. Valori più alti indicano una migliore separazione dei cluster.

Queste metriche sono fondamentali per comprendere le prestazioni di un modello e per confrontare diversi modelli o approcci al problema in esame. È importante notare che ogni metrica fornisce solo una visione parziale delle prestazioni del modello e che, di conseguenza, è spesso utile considerarne più di una quando si valuta la bontà di un modello di intelligenza artificiale.

In formule matematiche


Sono necessari ulteriori criteri di valutazione

Le metriche come accuratezza, precisione, richiamo, punteggio F1, curva ROC, specificità e le metriche per regressione e clustering sono misure quantitative dirette della performance di un modello di machine learning.

D’altra parte, esistono altri concetti indispensabili per valutare un modello e stabilirne la “forza”. Si tratta di aspetti qualitativi e contestuali che influenzano la scelta, il design e l’uso dei modelli in situazioni reali.

Generalizzazione: La capacità di mantenere la performance quando applicato a nuovi dati.

Efficienza: Uso delle risorse, inclusi tempi di addestramento, e requisiti hardware.

Scalabilità: Capace di gestire dataset crescenti e complessità dei problemi.

Interpretabilità: La facilità di spiegare le decisioni e le previsioni a coloro che utilizzano il modello.

Affidabilità: Robustezza del modello di fronte a dati perturbati, rumorosi o mancanti.

Equità ed Etica: Assicurarsi che il modello non esibisca pregiudizi impliciti e rispetti le normative su privacy e uso dei dati.

Robustezza: Simile all’affidabilità, si riferisce alla capacità di un modello di resistere a manipolazioni intenzionali dei dati, come gli attacchi di adversarial learning. Un modello robusto è resistente agli attacchi che cercano di ingannarlo con input leggermente alterati.

Trasferibilità: La capacità di un modello di adattarsi e di essere riusato in contesti diversi da quelli per cui è stato originariamente addestrato. Ciò è particolarmente rilevante in scenari in cui i dati o le condizioni possono variare significativamente.

Modularità: Si riferisce alla capacità di un modello di essere usato come parte di un sistema più grande. I modelli modulari possono essere facilmente integrati in differenti architetture di software e sistemi.

Sicurezza dei Dati: Importante in scenari in cui i dati sensibili sono coinvolti, questa dimensione si riferisce alla capacità di un modello di proteggere le informazioni sensibili durante l’addestramento e la previsione.

Costo-Beneficio: Analizza l’equilibrio tra il costo di sviluppo, addestramento e implementazione di un modello rispetto ai benefici che apporta. Questo aspetto è cruciale in contesti aziendali o di produzione

Usabilità: Riguarda la facilità con cui i modelli possono essere usati e interpretati da persone senza competenze tecniche avanzate. Una maggiore usabilità aumenta l’adozione dei modelli in un’ampia gamma di applicazioni.

Rispetto delle Normative: Riguarda la conformità del modello alle normative locali e internazionali, inclusi gli standard relativi alla privacy dei dati e alla non discriminazione.

Sostenibilità Ambientale: Con l’aumento delle preoccupazioni per l’ambiente, la quantità di energia consumata per addestrare e eseguire modelli di machine learning sta diventando un fattore importante, specialmente per i modelli di grande scala.

Come stabilire l’eccellenza?

Che cosa intendiamo per modello eccellente?


È possibile pensare che esista un modello di AI che massimizzi contemporaneamente tutti questi parametri?

No. Spesso accrescendo certe proprietà se ne perdono altre.

Questo fenomeno è comunemente noto come trade-off ed è un aspetto centrale nella progettazione e nell’ottimizzazione dei modelli di machine learning e AI in generale.

ESEMPIO

Spesso, ottimizzare un modello per migliorare la precisione può ridurre il richiamo e viceversa, portando a quello che è noto come trade-off precisione-richiamo.

Migliorando la precisione di un modello, si riduce il numero di falsi positivi ma, allo stesso tempo, si può accidentalmente ridurre anche il numero di veri positivi identificati e aumentare i falsi negativi (inceppando così il richiamo) poiché il modello diventa più cauto nel classificare un esempio come positivo.

Al contrario, cercando di aumentare il richiamo (per esempio, cercando di catturare più veri positivi), si potrebbe abbassare la soglia per classificare un esempio come positivo, incrementando il rischio di classificare erroneamente alcuni negativi come positivi (diminuendo di conseguenza la precisione).

Vediamolo meglio

Se Il modello diventa più rigoroso nel classificare un esempio come positivo significa che è meno probabile che classifichi un esempio come positivo, a meno che non sia molto sicuro. Di conseguenza, alcuni esempi che sono realmente positivi potrebbero non superare la soglia rafforzata e quindi essere classificati erroneamente come negativi, aumentando i FN. In questo processo, i VP diminuiscono perché il modello è più selettivo.

Se il modello diventa meno rigoroso, più incline a classificare un esempio come positivo, ciò aumenta la probabilità che gli esempi realmente positivi vengano classificati correttamente come tali, aumentando i VP. Tuttavia, questo può anche portare a un aumento dei falsi positivi (non direttamente legato alla dinamica VP-FN).

D’altra parte se il modello cerca di aumentare il richiamo, significa che sta tentando di ridurre il numero di FN. Per fare ciò, abbassa la soglia per classificare un esempio come positivo, aumentando così il numero di VP, ma anche di FP.

Il richiamo aumenta perché il modello identifica più VP, aumentando il numeratore nella formula del richiamo. La precisione diminuisce perché l’aumento di FP incrementa il denominatore VP+FP nella formula della precisione.