Le metriche ci aiutano a capire cosa funziona, cosa no e perché. Proprio come qualsiasi altra cosa, possiamo misurare le performance del machine learning per misurare l'efficacia dei nostri modelli di machine learning.
Le metriche delle performance del machine learning, una parte importante del MLOps, vengono utilizzate per valutare l'accuratezza dei modelli di machine learning e aiutare i data scientist e i professionisti del machine learning a comprendere le performance dei loro modelli e se stanno raggiungendo gli obiettivi desiderati.
Questo articolo spiega i tipi di metriche delle performance di machine learning e i concetti chiave di metriche delle performance di machine learning come la precisione, la curva ROC e il punteggio F1.
Perché le metriche delle performance del machine learning sono importanti?
Le metriche delle performance del machine learning contribuiscono a vari aspetti importanti del machine learning, tra cui:
Selezione del modello
Le metriche delle performance aiutano a confrontare diversi modelli e a selezionare quello con le migliori performance per un'attività o un dataset specifico. Ad esempio, se un modello deve ridurre al minimo i falsi positivi, la precisione diventa una metrica critica per la valutazione.
Ottimizzazione del modello
Le metriche guidano il processo di tuning e ottimizzazione degli iperparametri per migliorare le performance dei modelli. Analizzando il modo in cui i cambiamenti degli iperparametri influiscono su metriche come l'accuratezza, la precisione o il richiamo, i medici possono perfezionare i modelli per ottenere risultati migliori.
Impatto sul business
Le metriche delle performance sono direttamente collegate agli obiettivi di business che il modello di machine learning dovrebbe soddisfare. Ad esempio, in un'applicazione sanitaria, un modello con richiamo elevato (per ridurre al minimo i falsi negativi) potrebbe essere più efficace di uno con alta precisione.
Deriva modello
Dopo il deployment, il monitoraggio delle metriche delle performance consente di rilevare il degrado del modello o "drift". Ciò è molto importante per mantenere l'affidabilità e l'efficacia dei sistemi di machine learning nelle applicazioni del mondo reale.
Tipi di metriche delle performance del machine learning
Esistono vari tipi di metriche delle performance del machine learning, ciascuna delle quali fornisce un'importante angolazione sulle performance di un modello di machine learning.
Precisione
La precisione è la metrica più semplice. È il rapporto tra le istanze previste correttamente e le istanze totali nel dataset. La precisione è utile per dataset bilanciati quando tutte le classi sono ugualmente importanti.
Precisione
La precisione si concentra sulla frazione di istanze rilevanti tra le istanze recuperate. È la capacità del classificatore di non etichettare un campione negativo come positivo. La precisione è cruciale quando il costo dei falsi positivi è elevato, ad esempio nella diagnosi medica o nel rilevamento delle frodi.
Rievocazione (sensibilità)
Il richiamo misura la capacità del classificatore di trovare tutti i casi rilevanti all'interno di un dataset. È la capacità del classificatore di trovare tutti i campioni positivi. La rievocazione è importante quando la mancanza di istanze positive (falsi negativi) è più importante rispetto alla presenza di falsi positivi. Ad esempio, nel rilevamento dei tumori, è fondamentale rilevare tutti i casi effettivi anche se ciò comporta dei falsi allarmi.
Punteggio F1
Il punteggio F1 è la media armonica di precisione e rievocazione, che fornisce una misura equilibrata che considera sia i falsi positivi che i falsi negativi. È particolarmente utile quando si tratta di dataset sbilanciati. Usa il punteggio F1 quando vuoi bilanciare precisione e rievocazione e c'è una distribuzione di classe non uniforme o quando i falsi positivi e i falsi negativi hanno un peso simile.
Curva ROC e AUC
La curva delle caratteristiche operative del ricevitore (ROC) traccia il tasso di veri positivi (richiamo) rispetto al tasso di falsi positivi per soglie diverse. L'area sotto la curva ROC (AUC) fornisce una misura aggregata delle performance in tutte le soglie. Le curve ROC e l'AUC sono particolarmente utili nelle attività di classificazione binaria per comprendere i compromessi tra veri positivi e falsi positivi a soglie decisionali diverse. L'AUC è utile per lo squilibrio e la selezione della soglia.
Specificità
La specificità misura la percentuale di casi negativi effettivi correttamente identificati come negativi dal classificatore. Integra il ricordo (sensibilità) concentrandosi su veri negativi. La specificità è importante in scenari in cui è cruciale identificare correttamente i casi negativi, ad esempio nei test di screening delle malattie in cui i falsi allarmi possono portare a trattamenti o costi non necessari.
Mean Absolute Error (MAE) e Root Mean Squared Error (RMSE)
Queste metriche sono comunemente utilizzate nelle attività di regressione per misurare l'entità media degli errori tra i valori previsti e quelli effettivi. MAE e RMSE sono adatti per i problemi di regressione in cui l'entità assoluta degli errori è importante, come la previsione dei prezzi degli alloggi o le previsioni di vendita.
Per sviluppare modelli di machine learning efficaci e affidabili, è fondamentale comprendere queste metriche e scegliere quelli appropriati in base al dominio di problemi specifico e ai requisiti di business. Ogni metrica fornisce informazioni approfondite uniche sui diversi aspetti delle performance del modello, consentendo ai medici di prendere decisioni informate durante lo sviluppo, la valutazione e il deployment del modello.
Approfondiamo ogni metrica.
Precisione
La precisione è una metrica delle performance utilizzata per valutare la correttezza complessiva di un modello di machine learning. Misura il rapporto tra le istanze previste correttamente e il numero totale di istanze nel dataset. In altre parole, la precisione quantifica la frequenza con cui il modello effettua previsioni corrette su tutte le previsioni effettuate.
Dal punto di vista matematico, la precisione viene calcolata come segue:
Precisione = Numero di previsioni corrette/Numero totale di previsioni ×100%
Ecco un esempio per illustrare come funziona la precisione:
Supponiamo di avere un problema di classificazione binaria in cui vogliamo prevedere se un'e-mail è spam o meno. Abbiamo un set di dati di 100 e-mail, di cui 80 non sono spam e 20 sono spam. Dopo aver addestrato il nostro modello di machine learning, classifica correttamente 70 delle 80 e-mail non di spam e 15 delle 20 e-mail di spam.
Precisione=70+15/100 ×100%=85%
Quindi, in questo caso, la precisione del nostro modello è dell'85%, indicando che ha classificato correttamente 85 e-mail su 100.
La precisione è una metrica appropriata per valutare le performance del modello in scenari in cui tutte le classi sono ugualmente importanti e non vi è squilibrio di classe nel dataset.
Casi d’uso
Gli scenari in cui la precisione è adatta includono:
- Classificazione dello spam via e-mail: Determinare se un'e-mail è spam o meno
- Analisi dei sentimenti: Classificazione delle recensioni dei clienti come positive, negative o neutrali
- Classificazione delle immagini: Identificazione di oggetti in immagini come gatti, cani o auto
- Diagnosi della malattia: Prevedere se un paziente presenta una determinata malattia in base ai risultati dei test medici
Limitazioni
La precisione comporta alcune limitazioni e considerazioni quando viene utilizzata come unica metrica delle performance, tra cui:
Squilibrio di classe: La precisione può essere fuorviante quando le classi sono sbilanciate, il che significa che una classe è molto più frequente di altre. Ad esempio, in un set di dati con il 95% di esempi negativi e il 5% di esempi positivi, un modello che prevede sempre un dato negativo otterrebbe un'accuratezza del 95%, ma non sarebbe utile per identificare i casi positivi.
Costi disuguali: In alcune applicazioni, la classificazione errata di una classe può avere conseguenze più gravi rispetto alla classificazione errata di un'altra. Ad esempio, nella diagnosi medica, un falso negativo (mancante una malattia) potrebbe essere più critico di un falso positivo (diagnosi errata di una malattia). La precisione non distingue questi tipi di errori.
Non prende in considerazione la fiducia nelle previsioni: La precisione tratta tutte le previsioni allo stesso modo, indipendentemente dalla fiducia che il modello ha nelle sue previsioni. Un modello che sia molto sicuro delle previsioni corrette, ma meno sicuro delle previsioni sbagliate, può comunque avere un'elevata precisione anche se non funziona bene nel complesso.
Non rileva le performance del modello tra i diversi gruppi: La precisione non rivela le performance di un modello su sottogruppi o classi specifici all'interno del dataset. Tratta tutte le classi allo stesso modo, il che potrebbe non riflettere l'importanza reale delle diverse classi.
Per risolvere queste limitazioni, è importante considerare metriche di performance aggiuntive come precisione, richiamo, punteggio F1, area sotto la curva delle caratteristiche operative del ricevitore (AUC-ROC) e analisi della matrice di confusione in base alle caratteristiche specifiche del dominio problematico e ai requisiti aziendali. Queste metriche forniscono informazioni più approfondite sulle performance dei modelli di machine learning, oltre a ciò che la sola precisione può offrire.
Precisione e richiamo
La precisione e il richiamo sono due metriche di performance importanti utilizzate per valutare l'efficacia dei modelli di machine learning, specialmente nelle attività di classificazione binaria.
La precisione misura l'accuratezza delle previsioni positive effettuate dal modello. È il rapporto tra previsioni realmente positive e il numero totale di previsioni positive effettuate dal modello.
Precisione=Vero positivo/Vero positivo+Falso positivo
La precisione è importante perché indica quante istanze predette positive dal modello sono effettivamente positive. Un'alta precisione indica che il modello presenta meno falsi positivi, il che significa che è utile evitare i falsi allarmi.
Rievocazione=Vero positivo/Vero positivo+Falso negativo
La rievocazione è importante perché indica quante delle istanze positive reali è in grado di acquisire il modello. Un richiamo elevato indica che il modello è in grado di identificare efficacemente le istanze più positive, riducendo al minimo i falsi negativi.
Permuta tra precisione e richiamo
In genere esiste un compromesso tra precisione e richiamo. L'aumento della precisione porta spesso a una riduzione del richiamo e viceversa. Questo compromesso si verifica perché la regolazione della soglia decisionale di un modello influisce sul numero di veri positivi e falsi positivi/negativi.
Alta precisione, richiamo ridotto: Il modello è prudente e conservativo nell'evidenziare le istanze come positive. È importante evitare i falsi positivi, ma potrebbe perdere alcuni dei veri positivi, determinando un basso richiamo.
Richiamo elevato, bassa precisione: Il modello è più liberale nell'etichettare le istanze come positive, catturando la maggior parte degli effettivi positivi ma generando anche più falsi positivi, con conseguente bassa precisione.
Casi d’uso
La precisione e il richiamo sono metriche particolarmente utili per:
Diagnosi medica: Nella diagnosi medica, il richiamo (sensibilità) è spesso più importante della precisione. È fondamentale identificare correttamente tutti i casi positivi (ad es. pazienti con una malattia) anche se ciò comporta alcuni falsi positivi (ad es. pazienti sani segnalati come affetti dalla malattia). La mancanza di un caso positivo può avere gravi conseguenze.
Rilevamento delle frodi: Nel rilevamento delle frodi, la precisione è in genere più importante perché i falsi allarmi (falsi positivi) possono disturbare gli utenti. È meglio avere un'alta precisione per ridurre al minimo i falsi allarmi e al tempo stesso garantire che vengano rilevati casi di frode effettivi (che influiscono sul richiamo).
Recupero delle informazioni: Nei motori di ricerca o nei sistemi di raccomandazione, il richiamo è spesso prioritario per evitare di perdere risultati o raccomandazioni rilevanti, anche se significa includere alcuni elementi irrilevanti (precisione inferiore).
Punteggio F1
Il punteggio F1 è una metrica delle performance che combina precisione e richiamo in un unico valore, fornendo una valutazione equilibrata della capacità di un modello di machine learning di classificare correttamente le istanze. È particolarmente utile in scenari in cui sia la precisione che il richiamo sono ugualmente importanti e c'è la necessità di trovare un equilibrio tra di essi.
Il punteggio F1 viene calcolato utilizzando la media armonica della precisione, come segue:
Punteggio F1 = 2 × Precisione x Richiamo/Precisione + Richiamo
Il punteggio F1 varia da 0 a 1, dove 1 è il miglior punteggio possibile. Raggiunge il valore massimo quando sia la precisione che il richiamo sono ai massimi livelli, indicando un modello ben bilanciato che riduce al minimo sia i falsi positivi che i falsi negativi.
Vantaggi del punteggio F1
I vantaggi dell'utilizzo del punteggio F1 includono:
Valutazione bilanciata: Il punteggio F1 considera sia la precisione che il richiamo, fornendo una valutazione equilibrata delle performance di un modello. Ciò è particolarmente utile in scenari in cui sia i falsi positivi che i falsi negativi sono ugualmente importanti, come nella diagnosi medica o nel rilevamento di anomalie.
Metrica singola: Invece di valutare separatamente la precisione e il richiamo, il punteggio F1 li combina in un unico valore, rendendo più facile confrontare diversi modelli o parametri di tuning.
Sensibile allo squilibrio: Il punteggio F1 è sensibile allo squilibrio di classe perché tiene conto sia dei falsi positivi che dei falsi negativi. Questo penalizza i modelli che favoriscono fortemente una classe rispetto all'altra.
Interpretazione del punteggio F1
L'interpretazione dei risultati del punteggio F1 implica la comprensione del compromesso tra precisione e richiamo.
Ecco alcuni scenari e interpretazioni:
Punteggio F1 elevato: Un punteggio F1 elevato indica che il modello ha raggiunto un buon equilibrio tra precisione e richiamo. Ciò significa che il modello è efficace sia nel ridurre al minimo i falsi positivi (alta precisione) sia nell'acquisizione dei casi più positivi (richiamo elevato).
Punteggio F1 basso: Un punteggio F1 basso suggerisce uno squilibrio tra precisione e rievocazione. Ciò potrebbe accadere se il modello viene spinto verso una classe, portando a molti falsi positivi (bassa precisione) o a molti falsi negativi (basso ricordo).
Confronto dei modelli: Quando si confrontano diversi modelli o si ottimizzano gli iperparametri, la scelta del modello con il punteggio F1 più alto è vantaggiosa, soprattutto in scenari in cui la precisione e il richiamo sono ugualmente importanti.
Esempi
Consideriamo un modello di classificazione delle e-mail di spam.
Supponiamo che il Modello A abbia una precisione di 0,85 e un richiamo di 0,80, con un punteggio F1 di 0,85
D'altro canto, il Modello B ha una precisione di 0,75 e un richiamo di 0,90, con un punteggio F1 di 0,818.
Anche se il Modello B presenta un richiamo più elevato, la sua precisione inferiore determina un punteggio F1 leggermente inferiore rispetto al Modello A. Ciò suggerisce che il Modello A può essere più bilanciato in termini di precisione e richiamo, a seconda dei requisiti specifici dell'applicazione.
Curva ROC e AUC
Come descritto in precedenza, la curva ROC e l'AUC vengono utilizzate nei problemi di classificazione binaria per valutare le performance predittive dei modelli di machine learning, specialmente in scenari in cui la distribuzione delle classi è sbilanciata.
Curva ROC
La curva ROC è una rappresentazione grafica del compromesso tra il tasso di veri positivi (TPR), noto anche come recall o sensibilità, e il tasso di falsi positivi (FPR) di un modello di classificazione tra soglie diverse. Il TPR misura la percentuale di istanze positive effettive correttamente identificate come positive dal modello, mentre l'FPR misura la percentuale di istanze negative effettive erroneamente classificate come positive.
La curva ROC viene creata tracciando il TPR (asse y) rispetto all'FPR (asse x) con varie impostazioni di soglia. Ogni punto della curva rappresenta una soglia diversa e la curva mostra come le performance del modello cambiano man mano che cambia la soglia per la classificazione.
Visualizzazione dei compromessi
La curva ROC visualizza il compromesso tra sensibilità (richiamo) e specificità (1 - FPR) man mano che la soglia decisionale del modello varia. Un modello con alta sensibilità (TPR) tende ad avere un FPR più elevato e viceversa. La curva mostra le performance del modello in tutti i possibili valori di soglia, consentendo agli analisti di scegliere la soglia che meglio si adatta alle loro esigenze specifiche in base al compromesso che sono disposti ad accettare tra veri positivi e falsi positivi.
AUC
L'AUC è un valore scalare che quantifica le performance complessive di un modello di classificazione in base alla sua curva ROC. Nello specifico, misura l'area sotto la curva ROC, che rappresenta la capacità del modello di distinguere tra classi positive e negative in tutte le possibili impostazioni di soglia.
L'AUC aiuta a valutare le performance complessive di un modello di machine learning tramite:
Confronto delle performance: Un valore di AUC più elevato indica una migliore capacità di discriminazione del modello, il che significa che è in grado di distinguere efficacemente tra istanze positive e negative in un intervallo di soglie. Consente un facile confronto tra i diversi modelli, con valori di AUC più elevati che indicano performance complessive migliori.
Solidità allo squilibrio di classe: L'AUC è meno influenzata dallo squilibrio di classe rispetto a metriche come l'accuratezza, la precisione e il richiamo. Prende in considerazione le performance del modello per tutte le soglie possibili, rendendolo adatto per i dataset sbilanciati in cui la distribuzione della classe è alterata.
Valutazione indipendente dalla soglia: L'AUC valuta le performance del modello senza specificare una determinata soglia di classificazione, fornendo una valutazione più completa della capacità discriminativa del modello indipendentemente dal punto operativo scelto.
Conclusione
Le metriche delle performance del machine learning aiutano a valutare e confrontare diversi modelli di machine learning fornendo, tra gli altri, misure quantitative di accuratezza, precisione, richiamo, punteggio F1 e curva ROC di un modello. La comprensione di queste metriche è estremamente importante per i data scientist e i professionisti del machine learning che affrontano le varie attività e sfide dello sviluppo, dell'ottimizzazione e del deployment dei modelli.
In breve, le metriche delle performance del machine learning forniscono informazioni approfondite sui punti di forza e di debolezza di un modello, consentendo di prendere decisioni informate sulla selezione del modello, sulla messa a punto degli iperparametri e sul monitoraggio delle performance del modello nel tempo. Che si tratti di attività di classificazione in cui la precisione e il richiamo sono fondamentali, di problemi di regressione in cui MAE e RMSE sono importanti o di scenari di classificazione binari che beneficiano di curve ROC e AUC, l'uso appropriato delle metriche di performance migliora la robustezza e l'affidabilità delle soluzioni di machine learning, portando a risultati migliori e a un impatto positivo sul business.
Detto questo, sfruttare appieno i modelli di machine learning significa rendere il data storage a prova di futuro con un'AI-Ready Infrastructure. Scopri in che modo Pure Storage ti aiuta ad accelerare l'addestramento e l'inferenza dei modelli, a massimizzare l'efficienza operativa e a risparmiare sui costi.