-
.
La Matrice di Confusione
Quando si parla di Machine Learning inevitabilmente parliamo della creazione di modelli matematici che sono in grado di fare analisi di dati ad esempio per problemi di classificazione.
Se ad esempio bisogna fare un algoritmo di classificazione di immagini dove bisogna riconoscere se l'animale che compare in foto è un cane o un gatto possiamo utilizzare un algoritmo di apprendimento supervisionato.
Questo tipo di apprendimento prevede un training set, ovvero un dataset composto da migliaia di immagini etichettate di cani e di gatti e da un test set, ovvero un dataset più piccolo di immagini etichettate su cui testare il modello e verificare il risultato.
Per la valutazione di un modello ci viene in aiuto la Matrice di Confusione ovvero una tabella che può prevedere quattro tipologie di scenari- TRUE POSITIVE (TP): Se un'immagine di un gatto viene rilevata come gatto dal modello
- FALSE POSITIVE (FP): Se un'immagine che non contiene un gatto viene rilevata come gatto dal modello
- TRUE NEGATIVE (TN): Se un'immagine che non contiene un gatto viene rilevata come un non gatto dal modello
- FALSE NEGATIVE (FN): Se un'immagine che contiene un gatto viene rilevata come un non gatto
Quindi i nostri "alleati" sono i TRUE POSITIVE e i TRUE NEGATIVE, infatti più sarà alta la loro frequenza più il nostro modello classifica correttamente i dati, mentre invece i FALSE POSITIVE e i FALSE NEGATIVE rappresentano le classificazioni sbagliate eseguite dal modello.
Purtroppo non sempre possiamo migliorare in contemporanea la frequenza di FALSE POSITIVE e FALSE NEGATIVE e quindi dobbiamo decidere quale tra questi due scenari è il caso da evitare assolutamente in modo da ottimizzarlo a scapito dell'altro.
Ad esempio nel caso del Covid-19 erano molto più gravi i falsi negativi dei falsi positivi: un falso positivo comportava che una persona venisse messa in quarantena non essendo in realtà positivo al covid che sicuramente comportava un disagio alla persona, ma di sicuro molte meno conseguenze di una persona che veniva rilevata come negativa e poi in realtà era positiva e poteva girare liberamente.
Dalla matrice di confusione è poi possibile calcolare diverse metriche per valutazione del modello:
Accuracy
L'Accuracy rappresenta la prima metrica di valutazione di un modello che fornisce informazioni sulla percentuale di casi classificati correttamente sui casi totali:Accuracy = (TP + TN) / (TP + FP + TN + FN)
Precision
La Precision viene utilizzata quando le classi sono sbilanciate o quando bisogna dare maggiore importanza ad un tipo di errore.
Sostanzialmente misura quante volte il modello predice correttamente un'osservazione come appartenente alla classe positiva.Precision = True Positives / (True Positives + False Positives)
Recall
La recall misura la proporzione di osservazioni positive correttamente classificate rispetto a tutte le osservazioni effettivamente positive.Recall = True Positives / (True Positives + False Negatives)
Mentre la precisione si concentra sulla correttezza delle predizioni positive, la recall si concentra sulla capacità del modello di identificare tutti i casi positivi. Spesso c'è un trade-off tra precisione e recall, poiché aumentare uno può diminuire l'altro.
In genere quando si vogliono diminuire i Falsi Positivi si valorizza maggiormente la Precision, mentre quando si vogliono diminuire i Falsi Negativi si valorizza maggiormente la Recall.
F1 Score
F1 score è una misura di valutazione che permette di valutare precisione e il richiamo del modello in contemporanea.
L'F1 score è la media armonica tra precisione e richiamo e quindi può essere utile per trovare un buon bilanciamento.
È utile quando abbiamo un dataset sbilanciato, cioè quando una delle classi è molto più rappresentata rispetto all'altra.. -
.
in breve, come tutti noi le IA avrannos empre un margine di errore la cosa è consolante . -
.in breve, come tutti noi le IA avrannos empre un margine di errore la cosa è consolante
è parzialmente vero: che le IA avranno sempre un margine di errore certo, così come a ogni corso sulla sicurezza ti insegnano che il rischio non potrà mai essere zero, che siano "come tutti noi" dipende dai test.
Ad esempio alcune reti neurali per il riconoscimento d'immagini sono riuscite a riconoscere i segnali stradali con un'accuratezza superiore a quella dell'uomo.
Anche un mio amico che è contrarissimo alla guida autonoma ogni tanto mi linka dei post che parla di incidenti fatti con l'auto a guida autonoma e io gli spiego che nessuno ha mai detto che con l'auto a guida autonoma gli incidenti cesseranno di esistere: potenzialmente potrebbero ridurli del 90%, poi chiaramente dipende dal tipo di auto, da come viene gestita e così via, ma se anche dovesse arrivare a ridurre gli incidenti del 50% su grandi numeri significherebbe avere ogni anno la metà dei morti per le strade in meno. -
.CITAZIONEAd esempio alcune reti neurali per il riconoscimento d'immagini sono riuscite a riconoscere i segnali stradali con un'accuratezza superiore a quella dell'uomo.
se fosse pari o inferiore non sarebbe un buon risultato però non ne facevo questione quantitativa, ma qualitativa, la "macchina a prova di errore" cara a certi autori di fantascienza o a fanatici in realtà non può esistere. -
.CITAZIONEAd esempio alcune reti neurali per il riconoscimento d'immagini sono riuscite a riconoscere i segnali stradali con un'accuratezza superiore a quella dell'uomo.
se fosse pari o inferiore non sarebbe un buon risultato
In realtà lo è eccome, è chiaro che per poter arrivare a dei livelli di accuratezza elevati non ci si arriva mica al primo colpo, prima che una tecnologia venga resa pubblica passano molte ricerche e così sarà anche per la guida autonoma, oltre al fatto che ciò che viene applicato in un settore può comunque essere applicato su un altro.CITAZIONEperò non ne facevo questione quantitativa, ma qualitativa, la "macchina a prova di errore" cara a certi autori di fantascienza o a fanatici in realtà non può esistere
La macchina che non commette errori non può esistere, ma dipende anche quanto è la frequenza con cui commette errori, se la sua probabilità è che una macchina commetta un errore ogni 10 miliardi di persone, capisci che è probabile che nessuno al mondo avrà mai problemi con la macchina, quindi sì la probabilità non è zero teoricamente, ma nella pratica lo è.
Esiste sempre un margine di errore che se superato possiamo praticamente dire che la probabilità di insuccesso è 0.. -
.CITAZIONEè chiaro che per poter arrivare a dei livelli di accuratezza elevati non ci si arriva mica al primo colpo, prima che una tecnologia venga resa pubblica passano molte ricerche
è coaì in tutti i campi, occorre arrivare ad un livello minimo di funzionalità e accuratezzaCITAZIONELa macchina che non commette errori non può esistere, ma dipende anche quanto è la frequenza con cui commette errori, se la sua probabilità è che una macchina commetta un errore ogni 10 miliardi di persone, capisci che è probabile che nessuno al mondo avrà mai problemi con la macchina, quindi sì la probabilità non è zero teoricamente, ma nella pratica lo è.
Esiste sempre un margine di errore che se superato possiamo praticamente dire che la probabilità di insuccesso è 0.
anche se la mia considerazione era "filosofica", per quanto i risultati della IA possano avvicinarsi alla perfezione, fino al punto che umanamente diventino indistinguibile, in realtà il "tocco artistico" dell'errore non si può mai escludere.