La valutazione dei modelli si riferisce al processo di misurazione delle prestazioni di un modello di machine learning. Questo processo pone la domanda: quando il tuo modello prende una decisione sul mondo reale, quanto spesso è corretto? Oppure, nei casi su uno spettro, quanto era vicino alla risposta esatta?
Sempre più spesso, con la dipendenza delle aziende dai modelli AI, in gioco ci sono soldi reali. Nel febbraio 2021, i leader di Zillow hanno fatto una scommessa ambiziosa basata sui loro modelli di machine learning che prevedevano i valori delle case. Non solo effettuava queste stime, ma spesso Zillow acquistava direttamente le case il cui prezzo era stato stabilito dal suo modello, tramite un'attività collegata chiamata Zillow Offers.
Solo otto mesi dopo, Zillow ha chiuso Zillow Offers e ha effettuato una riduzione dell'inventario di 304 milioni di dollari. La causa, ha detto l'azienda, è stata l'acquisto di diverse case a prezzi superiori a quelli a cui riteneva di poterle vendere. Le azioni dell'azienda sono crollate e Zillow ha licenziato circa il 25% del personale.
La colpa? Il suo modello AI non era abbastanza accurato per resistere al mercato. Le sue previsioni e previsioni non corrispondevano ai valori effettivi delle case.1
Man mano che i modelli di ML si diffondono nell'assistenza sanitaria, nelle assunzioni e nella giustizia penale, il costo di una valutazione inadeguata può causare danni reali a persone reali. Nella data science e nei vari settori, ottenere metriche di valutazione dei modelli corrette è diventata una parte importante dell'implementazione responsabile dell'AI.
Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.
I diversi modelli sono progettati per svolgere funzioni diverse.
I modelli di classificazione etichettano i dati in entrata come appartenenti a una di poche categorie. (Un modello che contrassegna un paziente come affetto o meno da sepsi è un modello di classificazione.)
I modelli di regressione producono invece un numero in un continuum. (Il modello dei prezzi delle case di Zillow era un modello di regressione.)
Diversi tipi di modello richiedono diversi tipi di test. Spesso, triangolare le prestazioni attraverso più metriche è ideale perché nessuna singola metrica è priva di incertezze.
Alcuni modelli affrontano i "problemi di classificazione", nel senso che suddividono il mondo in categories. Le metriche di classificazione sono altrettanto nette. L'accuratezza dei modelli è abbastanza intuitiva: prende il numero di previsioni corrette e lo divide per il numero totale. (Nel machine learning, la parola "previsione" si riferisce alle ipotesi plausibili che i modelli fanno, anche se si tratta di qualcosa che accadrà ora, piuttosto che in futuro.)
Il problema dell'accuratezza dei modelli è che un numero elevato può dare agli stakeholder in un falso senso di sicurezza. Un modello destinato a rilevare un evento raro ma catastrofico (ad esempio, un certo tipo di cancro) potrebbe classificare di riflesso ogni scansione come negativa. Riceverebbe un'elevata precisione del modello, perché il 99,99% di queste letture negative sarebbe corretto. Ma questa elevata precisione non sarebbe di nessun conforto per il povero paziente che ha ricevuto il raro falso negativo. Il modello era preciso in senso tecnico, ma non faceva il suo dovere.
Diventa utile suddividere le prestazioni di un modello di classificazione nei tipi di previsioni, o ipotesi ragionate, che esso fa. In un compito di classificazione binaria, come il rilevamento del cancro, ci sono quattro possibili risultati (quando disposti in una griglia 2x2, questo framework viene spesso chiamato "matrice di confusione"):
Si può già iniziare a capire perché vale la pena di suddividere queste categorie. Una diagnosi di cancro falsamente positiva sarebbe senza dubbio traumatica, finché ulteriori esami non rivelassero che si trattava solo di un falso allarme medico. Ma una falsa lettura negativa può essere fatale.
I professionisti della data science hanno sviluppato una serie di metriche secondarie per sondare le prestazioni dei classificatori e valutare le relazioni tra i quadranti della matrice di confusione.
La metrica chiamata precisione chiede: tra tutte le previsioni positive fatte da un classificatore, quante erano corrette?
Un algoritmo di riconoscimento delle immagini montato su un'auto supera 10 incroci su un percorso di prova, sei dei quali hanno segnali di stop. Tuttavia, affermare che un modello "ha rilevato tutti e sei i segnali di stop" significherebbe trascurare importanti differenze potenziali in termini di precisione. Se segnalava tutti e sei con precisione e non produceva falsi positivi, allora aveva una precisione di 6/6, o 100%. Tuttavia, se segnalava i sei segnali ma ne generava anche quattro inesistenti, la sua precisione era solo di 6/10, ovvero appena il 60%.
La metrica chiamata richiamo (nota anche come "tasso di veri positivi") misura qualcosa di leggermente diverso. La domanda di richiamo è: di tutti i segnali di stop effettivamente presenti, quanti ne ha rilevati il modello?
Immaginiamo un altro percorso di prova con 100 intersezioni, 50 delle quali con segnali di stop. Un modello che acquisisce 30 di questi segnali di stop avrà un richiamo del 60%; 40 di questi 80%; e così via. (Il richiamo non si preoccupa dei falsi allarmi, quindi in teoria si può "manipolare" un richiamo del 100% insegnando a un modello a vedere segnali di stop ovunque.)
Queste due metriche, precisione e richiamo, esistono in tensione. Un ingegnere che cerca di migliorare il richiamo potrebbe esagerare, creando un modello che troppo spesso produce falsi positivi. Spesso ottimizzare un modello equivale a gestire compromessi tra un richiamo più alto (acquisire tutti i fenomeni che si cerca di rilevare) e una precisione inferiore (superare il bersaglio e acquisire anche falsi positivi).
Nella gestione di questo compromesso, gli esperti del machine learning utilizzano spesso una metrica chiamata punteggio F1, che rappresenta una "media armonica" di precisione e richiamo. (Una media armonica si differenzia dalla media più tradizionale in quanto è influenzata in modo sproporzionato dai valori bassi. Un punteggio F1 diminuisce rapidamente se la precisione o il richiamo sono bassi.)
Un punteggio F1 perfetto sarebbe 1.0, ma sfortunatamente non esiste una guida valida per tutti per definire un punteggio F1 sufficientemente alto, e il contesto è molto importante.2 Quello che è chiaro è che un punteggio più alto in F1 è migliore. Più si avvicina a 1.0, meglio questo modello sarà in grado di rilevare efficacemente ciò che è destinato a rilevare, riducendo al minimo i falsi positivi e i falsi negativi.3
Nell'ambito delle metriche di classificazione, due metriche coinvolgono i concetti correlati di fiducia e di soglia.
Un modello non si limita a sputare "è un segnale di stop" o "non è un segnale di stop". Piuttosto, dice qualcosa del tipo: "C'è una probabilità del 98% che questo sia un segnale di stop" (una previsione altamente fiduciosa). Oppure dice: "C'è una probabilità del 51% che questo sia un segnale di stop" (una previsione non molto affidabile).
La metrica nota come perdita logaritmica è progettata per valutare la fiducia di un modello. Gli errori altamente sicuri ricevono una grande penalità. Anche la scarsa fiducia nelle previsioni corrette viene penalizzata, sebbene in misura minore. Un modello perfetto avrà un punteggio di 0 sulla perdita di log, anche se questo risultato è raramente raggiunto. Ciò che costituisce un punteggio "buono" dipende ancora una volta dal modello e dal tipo di compito.
Quale che sia il punteggio di fiducia di un modello, gli utenti umani dei modelli ML devono infine definire una soglia che trasformi le intuizioni del modello in decisioni finali di sì o no. Una soglia potrebbe istituire la regola, "se >75% sicuro, allora output 'sì, è un segnale di stop'". Ma un utente umano potrebbe anche scegliere una soglia di confidenza del 51% o del 98%. Gli output risultanti dal modello ovviamente varieranno notevolmente a seconda della soglia scelta.
Una curva ROC (dal termine tecnico "receiver operating characteristic") e la relativa metrica ROC AUC (o "area sotto la curva") analizzano le prestazioni del modello a diverse soglie. Tecnicamente, una curva ROC traccia il tasso di veri positivi (TPR) rispetto al tasso di falsi positivi (FPR) al variare della soglia. Concettualmente, ROC AUC mette da parte le chiamate di giudizio a un determinato limite, osservando invece nel complesso se un modello è capace di ordinare: "Indipendentemente da dove abbiamo impostato la soglia, il modello produce almeno costantemente punteggi di confidenza più elevati quando i segnali di stop sono effettivamente presenti?" ROC AUC riassume questa capacità complessiva di separare i positivi dai negativi.
La sezione precedente tratta i problemi di "classificazione", in cui un fenomeno (che si tratti di un segnale di stop o di un cancro) è direttamente presente o meno. Ma molti fenomeni (valori rilevati a casa, livelli di glucosio di un paziente) si verificano su uno spettro, il che richiede modelli diversi e misure di prestazioni diverse. I modelli che affrontano questi fenomeni producono numeri piuttosto che categorie. Sono chiamati modelli di regressione e vengono valutati con metriche di regressione, che chiedono in vari modi: "Quanto è lontano dal segno quel numero?"
L'errore assoluto medio (MAE) chiede: "In media, quanto ci siamo allontanati?". Se un modello questa settimana pensa che una casa verrà venduta a 500.000 USD e la venderà a 525.000 USD, e poi la prossima settimana pensa che una casa verrà venduta a 400.000 USD e la venderà a 390.000 USD, il suo MAE è di 17.500 USD (25.000 + 10.000, diviso di 2). Il MAE ignora se un modello è costantemente sopra o sotto nelle sue previsioni. Si limita a considerare la distanza media dalla verità.
La radice dell'errore quadratico medio (RMSE) è simile, ma assegna una penalità più severa ai numeri che si sono allontanati molto dal bersaglio. Questo si ottiene facendo il quadrato degli errori, il che li rende ancora più grandi prima di prendere la radice quadrata della media risultante. L'RMSE nell'esempio precedente è di 19.039 USD. (Il MSE correlato, o errore quadratico medio, funziona in modo simile ma senza radice quadrata, rendendolo meno interpretabile ma a volte utile dal punto di vista matematico.) L'RMSE è utile quando gli errori di grandi dimensioni sono particolarmente costosi.
Una metrica meno intuitiva è R-quadro. L'R-quadro non misura quanto siano lontane le previsioni di un modello, ma piuttosto quanta parte della variazione complessiva della variabile target il modello è riuscito a spiegare.
Per avere un'idea dell'R-quadro, immaginiamo innanzitutto un modello semplicistico di prezzo delle case, che fornisce lo stesso valore per ogni singola casa: il prezzo medio della zona. R-quadro chiede: quanto è migliore il nostro modello rispetto al puro indovino medio? Quanto meglio il modello cattura la varianza dei prezzi effettivi, tanto più alto è il suo R-quadro. (Un R-quadro di 0,85 significa che il modello spiega circa l'85% della variazione del risultato; un R-quadro pari a 0 significa che non è migliore del modello a spruzzo medio.)
Come tutte le metriche, R-quadro è imperfetto. È particolarmente debole con i dati contenenti outlier.
Non tutti gli studenti che superano un test hanno davvero imparato la materia: uno studente potrebbe aver memorizzato le flashcard ma non aver interiorizzato i concetti, uno potrebbe aver imbrogliato, in qualche modo vedendo il test in anticipo, un altro potrebbe semplicemente essere stato fortunato. Lo stesso vale per i modelli di machine learning.
Un errore rudimentale nella valutazione dei modelli di machine learning sarebbe quello di testare il modello sugli stessi dati utilizzati per l'addestramento del modello. Il modello potrebbe funzionare molto bene, ma semplicemente perché ha essenzialmente memorizzato i dati: non è riuscito a generalizzare alcun apprendimento sul fenomeno sottostante che doveva rilevare, e probabilmente fallirà quando incontrerà nuovi dati nel mondo reale. Il termine tecnico per questo comportamento simile alla memorizzazione è overfitting.
La consueta salvaguardia è chiamata divisione train-test: si dividono i dati disponibili in un insieme da cui il modello può apprendere (dati di addestramento) e un'altra parte che non può vedere fino all'esame (il set di test). Ma anche questo salvaguardiere può dare risultati imperfetti, perché una sfortunata divisione può distorcere i risultati del modello di test. Inoltre, se i dati sono limitati, c'è un compromesso doloroso tra usare i dati per l'addestramento e conservarli per i test.
I professionisti dell'ML affrontano questi problemi con la convalida incrociata. Con la convalida incrociata, un set di dati viene diviso in cosiddetti fold. La maggior parte delle iterazioni di campionamento viene utilizzata per addestrare il modello, mentre una è riservata al test. Quindi, il processo viene ripetuto su una nuova copia del modello, con le pieghe ruotate: un fold diverso è ora il set di test. I punteggi dei test di queste varie corse sono mediati. Questo approccio fornisce una stima più stabile di quanto il modello probabilmente si comporterà su nuovi dati, ottenendo anche più vantaggio da un set di dati limitato (perché ogni punto dati può essere usato per l'addestramento in un contesto, per i test in un altro).
In definitiva, se nessuno dei modelli candidati offre prestazioni sufficientemente buone, gli esperti potrebbero provare a ottimizzare gli iperparametri, ovvero a modificare le impostazioni predefinite come la profondità del modello o il tasso di apprendimento, per verificare se le prestazioni migliorano.
In Python, le librerie come scikit-learn rendono la convalida incrociata semplice da implementare, e questo è uno dei motivi per cui è diventata una pratica standard.
A volte la cosiddetta "verità assoluta" è inequivocabile: il paziente ha o non ha il cancro; la casa è stata venduta per questa o quella cifra. Ma con l'avvento dei modelli linguistici di grandi dimensioni (LLM), le prestazioni del modello sono spesso meno chiare o facili da misurare.
Un chatbot basato su LLM potrebbe dover affrontare alcuni compiti binari, ad esempio se capisce i fatti nel modo giusto o sbagliato. Ma l'utente può anche valutarlo in base a molte dimensioni diverse, difficili da definire, come la cordialità o la disponibilità. In questi casi, non esiste una singola risposta corretta, né "veri valori" di benchmark. L'annotazione umana è considerata il gold standard per la valutazione degli output LLM, ma è un metodo che non è scalabile.
In definitiva, in questi casi, la valutazione finale del modello potrebbe derivare dal suo lancio sul mercato e dalla verifica se gli utenti ne traggono valore o meno.
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
1. “Zillow iBuying Home Zestimates,”CNN, 2021.
2. “What is a good F1 score?” OneModel
3. “Calculating F1 Score,” Telnyx.com