Le attività di apprendimento supervisionato sono ben definite e possono essere applicate a numerosi scenari, come l'identificazione dello spam o la previsione delle precipitazioni.
Concetti di base dell'apprendimento supervisionato
Il machine learning supervisionato si basa sui seguenti concetti fondamentali:
- Dati
- Modello
- Formazione
- Valutazione in corso
- Inferenza
Dati
I dati sono la forza motrice del ML. I dati assumono la 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 delle case
- Informazioni sul meteo
I set di dati sono costituiti da singoli esempi contenenti funzionalità e un'etichetta. Un esempio può essere paragonato a una singola riga di un foglio di lavoro. Le funzionalità sono i valori che un modello supervisionato utilizza per prevedere l'etichetta. L'etichetta è la "risposta" o il valore che vogliamo che il modello preveda. In un modello meteo che prevede le precipitazioni, le caratteristiche potrebbero essere latitudine, longitudine, temperatura, umidità, copertura nuvolosa, direzione del vento e pressione atmosferica. L'etichetta sarà quantità di precipitazioni.
Gli esempi che contengono sia le caratteristiche sia un'etichetta sono chiamati esempi etichettati.
Due esempi etichettati
Al contrario, gli esempi senza etichetta contengono funzionalità, ma nessuna etichetta. Dopo aver creato un modello, questo prevede l'etichetta dalle caratteristiche.
Due esempi senza etichetta
Caratteristiche del set di dati
Un set di dati è caratterizzato dalle sue dimensioni e diversità. La dimensione indica il numero di esempi. La diversità indica l'intervallo coperto da questi esempi. I set di dati validi sono grandi e altamente diversificati.
Alcuni set di dati sono di grandi dimensioni e diversificati. Tuttavia, alcuni set di dati sono grandi, ma presentano una bassa diversità, mentre altri sono piccoli ma altamente diversificati. In altre parole, un set di dati di grandi dimensioni non garantisce una diversità sufficiente e un set di dati molto diversificato non garantisce esempi sufficienti.
Ad esempio, un set di dati potrebbe contenere 100 anni di dati, ma solo per il mese di luglio. L'utilizzo di 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 generare previsioni scadenti perché non contiene abbastanza anni per tenere conto della variabilità.
Verifica le tue conoscenze
Un set di dati può essere caratterizzato anche dal numero delle sue caratteristiche. Ad esempio, alcuni set di dati meteorologici potrebbero contenere centinaia di funzionalità, dalle immagini satellitari ai valori di copertura nuvolosa. Altri set di dati potrebbero contenere solo tre o quattro caratteristiche, come umidità, pressione atmosferica e temperatura. I set di dati con più funzionalità possono aiutare un modello a scoprire pattern aggiuntivi e a fare previsioni migliori. Tuttavia, i set di dati con più funzionalità non generano sempre modelli che effettuano previsioni migliori perché alcune caratteristiche potrebbero non avere alcuna relazione causale con l'etichetta.
Modello
Nell'apprendimento supervisionato, un modello è la complessa raccolta di numeri che definiscono la relazione matematica da specifici pattern di caratteristiche di input a specifici valori di etichetta di output. Il modello scopre questi pattern tramite l'addestramento.
Formazione
Prima che un modello supervisionato possa fare previsioni, deve essere addestrato. Per addestrare un modello, forniamo al modello un set di dati con esempi etichettati. L'obiettivo del modello è trovare la soluzione migliore per prevedere le etichette dalle 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 visualizzati.
Ad esempio, se il modello ha previsto 1.15 inches
di pioggia, ma il valore effettivo era .75 inches
, il modello modifica la 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 genera in media le migliori previsioni per ciascuno degli esempi.
Di seguito viene illustrato come addestrare un modello:
Il modello prende in considerazione un singolo esempio etichettato e fornisce una previsione.
Figura 1. Un modello di ML che esegue una previsione da un esempio etichettato.
Il modello confronta il valore previsto con il valore effettivo e aggiorna la soluzione.
Figura 2. Un modello di ML che aggiorna il valore previsto.
Il modello ripete questo processo per ogni esempio etichettato nel set di dati.
Figura 3. Un modello di 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 di grandi dimensioni e diversificati producono un modello migliore. Il modello ha rilevato più dati con una gamma più ampia di valori e ha perfezionato la sua comprensione della relazione tra le caratteristiche e l'etichetta.
Durante l'addestramento, i professionisti di ML possono apportare piccole modifiche alle configurazioni e alle funzionalità utilizzate dal modello per fare previsioni. Ad esempio,
alcune funzionalità hanno un potere predittivo maggiore di altre. Pertanto, i professionisti del machine learning possono selezionare le funzionalità utilizzate dal modello durante l'addestramento. Ad esempio, supponi che un set di dati sul 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 questa risorsa.
Valutazione in corso
Valutiamo un modello addestrato per determinare quanto ha appreso. Quando valutiamo un modello, utilizziamo un set di dati etichettato, ma forniamo al modello solo le caratteristiche del set di dati. Vengono quindi confrontate le previsioni del modello con i valori reali dell'etichetta.
Figura 4. Valutazione di un modello di machine learning confrontando le relative previsioni con i valori effettivi.
A seconda delle previsioni del modello, potremmo eseguire ulteriori attività di addestramento e valutazione prima di eseguire il deployment del modello in un'applicazione reale.
Verifica le tue conoscenze
Inferenza
Una volta soddisfatti i risultati della valutazione del modello, possiamo utilizzarlo per fare previsioni, chiamate inferenze, su esempi non etichettati. Nell'esempio dell'app Meteo, forniremo al modello le condizioni meteo attuali, come temperatura, pressione atmosferica e umidità relativa, per prevedere la quantità di precipitazioni.