Le attività dell'apprendimento supervisionato sono ben definite e possono essere applicate a molti scenari, come l'identificazione dello spam o la previsione delle precipitazioni.
Concetti fondamentali sull'apprendimento supervisionato
Il machine learning supervisionato si basa sui seguenti concetti fondamentali:
- Dati
- Modello
- Addestramento
- Valutazione
- Inferenza
Dati
I dati sono la forza trainante del ML. I dati si presentano sotto forma di parole e numeri memorizzati in tabelle o come valori di pixel e forme d'onda acquisiti in immagini e file audio. Memorizziamo i dati correlati in set di dati. Ad esempio, potremmo avere un set di dati con i seguenti elementi:
- Images of cats
- Prezzi degli alloggi
- Informazioni sul meteo
I set di dati sono composti da singoli esempi che contengono caratteristiche e un'etichetta. Un esempio può essere paragonato a una singola riga di un foglio di lavoro. Le caratteristiche sono i valori che un modello supervisionato utilizza per prevedere l'etichetta. L'etichetta è la "risposta", ovvero il valore che il modello deve prevedere. In un modello meteorologico che prevede precipitazioni, le caratteristiche potrebbero essere latitudine, longitudine, temperatura, umidità, copertura nuvolosa, direzione del vento e pressione atmosferica. L'etichetta sarà quantità a pioggia.
Gli esempi che contengono sia le caratteristiche sia un'etichetta sono denominati esempi etichettati.
Due esempi etichettati
Al contrario, gli esempi non etichettati contengono funzionalità ma non etichette. Dopo che hai creato un modello, il modello prevede l'etichetta in base alle caratteristiche.
Due esempi senza etichetta
Caratteristiche del set di dati
Un set di dati si caratterizza per dimensioni e diversità. La dimensione indica il numero di esempi. La diversità indica l'intervallo trattato in questi esempi. I set di dati validi sono grandi e molto diversificati.
Alcuni set di dati sono sia grandi che diversificati. Alcuni set di dati, tuttavia, sono grandi, ma con una bassa diversità, altri piccoli ma estremamente diversificati. In altre parole, un set di dati di grandi dimensioni non garantisce una diversità sufficiente e un set di dati altamente diversificato non garantisce esempi sufficienti.
Ad esempio, un set di dati potrebbe contenere 100 anni di dati, ma solo per il mese di luglio. Usare questo set di dati per prevedere le precipitazioni a gennaio produrrà previsioni scadenti. Al contrario, un set di dati potrebbe coprire solo pochi anni ma contenere ogni mese. Questo set di dati potrebbe produrre previsioni scadenti perché non contiene anni sufficienti per tenere conto della variabilità.
Verifica le tue conoscenze
Un set di dati può anche essere caratterizzato dal numero delle sue caratteristiche. Ad esempio, alcuni set di dati meteorologici potrebbero contenere centinaia di caratteristiche, dalle immagini satellitari ai valori di copertura nuvolosa. Altri set di dati possono contenere solo tre o quattro caratteristiche, come umidità, pressione atmosferica e temperatura. I set di dati con più caratteristiche possono aiutare un modello a scoprire pattern aggiuntivi e fare previsioni migliori. Tuttavia, i set di dati con più caratteristiche non producono sempre modelli che fanno previsioni migliori perché alcune caratteristiche potrebbero non avere una relazione causale con l'etichetta.
Modello
Nell'apprendimento supervisionato, un modello è la complessa raccolta di numeri che definiscono la relazione matematica da pattern di funzionalità di input specifici a valori specifici delle etichette di output. Il modello scopre questi pattern durante l'addestramento.
Addestramento
Prima che un modello supervisionato possa fare previsioni, deve essere addestrato. Per addestrare un modello, gli forniamo un set di dati con esempi etichettati. L'obiettivo del modello è trovare la soluzione migliore per prevedere le etichette delle caratteristiche. Il modello trova la soluzione migliore confrontando il valore previsto con il valore effettivo dell'etichetta. In base alla differenza tra i valori previsti ed effettivi, definiti come perdita, il modello aggiorna gradualmente la sua soluzione. In altre parole, il modello apprende la relazione matematica tra le caratteristiche e l'etichetta in modo da poter fare le migliori previsioni sui dati non considerati.
Ad esempio, se il modello ha previsto 1.15 inches
di pioggia, ma il valore effettivo
era .75 inches
, il modello modifica la sua soluzione in modo che la previsione sia più vicina a
.75 inches
. Dopo che il modello ha esaminato ogni esempio nel set di dati (in alcuni casi più volte), arriva a una soluzione che fa in media le migliori previsioni per ciascuno degli esempi.
Di seguito è riportato un esempio di addestramento di un modello:
Il modello prende in considerazione un singolo esempio etichettato e fornisce una previsione.
Figura 1. Un modello ML che esegue una previsione da un esempio etichettato.
Il modello confronta il valore previsto con quello effettivo e aggiorna la soluzione.
Figura 2. Un modello ML che aggiorna il valore previsto.
Il modello ripete questo processo per ogni esempio etichettato nel set di dati.
Figura 3. un modello ML che aggiorna le previsioni per ogni esempio etichettato nel set di dati di addestramento.
In questo modo, il modello apprende gradualmente la relazione corretta tra le caratteristiche e l'etichetta. Questa comprensione graduale è anche il motivo per cui set di dati grandi e diversificati producono un modello migliore. Il modello ha registrato un maggior numero di dati con una gamma più ampia di valori e ha perfezionato la comprensione della relazione tra le caratteristiche e l'etichetta.
Durante l'addestramento, i professionisti di ML possono apportare lievi modifiche alle
configurazioni e alle funzionalità che il modello utilizza per fare previsioni. Ad esempio, alcune funzionalità
hanno un potere predittivo maggiore di altre. Pertanto, i professionisti
ML possono selezionare le funzionalità utilizzate dal modello durante l'addestramento. Ad esempio, supponiamo che un set di dati meteo contenga time_of_day
come funzionalità. In questo caso, un professionista di ML può aggiungere o rimuovere time_of_day
durante l'addestramento per vedere se il modello esegue previsioni migliori con o senza.
Valutazione
Valutiamo un modello addestrato per determinarne il livello di apprendimento. Quando valutiamo un modello, usiamo un set di dati etichettato, ma forniamo solo le caratteristiche del set di dati. Quindi confrontiamo le previsioni del modello con i valori reali dell'etichetta.
Figura 4. Valutare un modello ML confrontando le sue previsioni con i valori effettivi.
A seconda delle previsioni del modello, potremmo svolgere più attività di addestramento e valutazione prima di eseguire il deployment del modello in un'applicazione reale.
Verifica le tue conoscenze
Inferenza
Una volta soddisfatti dei risultati della valutazione del modello, possiamo utilizzarlo per fare previsioni, chiamate inferenze, su esempi non etichettati. Nell'esempio dell'app Meteo, davamo al modello le condizioni meteo attuali, come temperatura, pressione atmosferica e umidità relativa, e prevedevamo la quantità di precipitazioni.