Apprendimento supervisionato

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

Immagine segnaposto.

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

Immagine segnaposto.

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

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 corrette 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 su cui non è mai stato addestrato.
Piccole dimensioni / alta diversità
La maggior parte dei modelli non riesce a trovare pattern affidabili in un set di dati di dimensioni ridotte. Le previsioni non avranno la confidenza fornita da un set di dati più ampio.
Piccole dimensioni / Bassa diversità
Se il tuo set di dati è di piccole dimensioni e senza molte variazioni, potresti non trarre vantaggio dal machine learning.

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:

  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 ML che esegue una previsione da un esempio etichettato.

     

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

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

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

     

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

    L'immagine di un modello che ripete il processo di previsione rispetto al valore effettivo.

    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.

Un'immagine che mostra un modello addestrato che confronta le sue previsioni con i valori effettivi.

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

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.
Un modello non ha bisogno di essere addestrato. I modelli sono disponibili sulla maggior parte dei computer.
Un modello deve essere addestrato in modo da non avere bisogno di dati per fare previsioni.

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.