Apprendimento supervisionato

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

Immagine segnaposto.

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

Immagine segnaposto.

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

Quali attributi di un set di dati sarebbero ideali da usare per il ML?
Grandi dimensioni / alta diversità
Un numero elevato di esempi che coprono una varietà di casi d'uso è essenziale affinché un sistema di machine learning comprenda i pattern sottostanti nei dati. Un modello addestrato su questo tipo di set di dati ha maggiori probabilità di fare previsioni accurate sui nuovi dati.
Grandi dimensioni / Bassa diversità
La qualità dei modelli di machine learning dipende dagli esempi utilizzati per addestrarli. Un modello produrrà previsioni più scadenti su dati nuovi sui quali non è mai stato addestrato.
Piccole dimensioni / alta diversità
La maggior parte dei modelli non è in grado di trovare pattern affidabili in un set di dati di piccole dimensioni. Le previsioni non avranno la certezza che un set di dati più ampio possa fornire.
Piccole dimensioni / Bassa diversità
Se il tuo set di dati è piccolo e senza molte variazioni, potresti non trarre vantaggio dal machine learning.

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:

  1. Il modello prende in considerazione un singolo esempio etichettato e fornisce una previsione.

    Immagine di un modello che esegue una previsione.

    Figura 1. Un modello di ML che esegue una previsione da un esempio etichettato.

     

  2. Il modello confronta il valore previsto con il valore effettivo e aggiorna la soluzione.

    Immagine di un modello che confronta la sua previsione con il valore effettivo.

    Figura 2. Un modello di ML che aggiorna il valore previsto.

     

  3. Il modello ripete questo processo per ogni esempio etichettato nel set di dati.

    Immagine di un modello che ripete il processo della sua previsione rispetto al valore effettivo.

    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.

Un'immagine che mostra un modello addestrato confrontato con le previsioni e i valori effettivi.

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

Perché un modello deve essere addestrato prima di poter fare previsioni?
Un modello deve essere addestrato per apprendere la relazione matematica tra le caratteristiche e l'etichetta in un set di dati.
Non è necessario addestrare un modello. I modelli sono disponibili sulla maggior parte dei computer.
Un modello deve essere addestrato in modo da non avere bisogno di dati per fare una previsione.

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.