Cos'è l'apprendimento supervisionato?

L'apprendimento supervisionato è un ramo del machine learning, un metodo di analisi dei dati che utilizza algoritmi che imparano iterativamente dai dati per consentire ai computer di trovare informazioni utili nascoste senza essere esplicitamente programmati su dove cercare. L'apprendimento supervisionato è uno dei tre metodi con cui le macchine "apprendono": supervisionato, non supervisionato e ottimizzazione.

Diagramma di apprendimento supervisionato

L'apprendimento supervisionato risolve problemi noti e usa una serie di dati etichettati per addestrare un algoritmo ad eseguire compiti specifici. Utilizza modelli per prevedere risultati noti come: "Qual è il colore dell'immagine?, "Quante persone ci sono nell'immagine?, "Quali fattori sono all'origine di una frode o di difetti dei prodotti?", ecc. Per esempio, un processo di apprendimento supervisionato potrebbe essere classificare veicoli a due e quattro ruote dalle loro immagini. I dati di formazione dovrebbero essere etichettati correttamente per individuare se un veicolo è un due ruote o un quattro ruote. L'apprendimento supervisionato permette agli algoritmi di "imparare" dai dati storici/di addestramento e applicarli a input sconosciuti per ricavare l'output corretto. L'apprendimento supervisionato utilizza alberi decisionali, foresta casuale e gradient boosting machine.

Al contrario, l'apprendimento non supervisionato è un tipo di machine learning che viene utilizzato per individuare nuovi modelli e rilevare anomalie. I dati che vengono inseriti negli algoritmi di apprendimento non supervisionato sono non etichettati. L'algoritmo (o i modelli) cercano di dare un senso ai dati da soli trovando caratteristiche e modelli. Un esempio di domanda a cui il machine learning non supervisionato potrebbe rispondere è: "Ci sono nuovi cluster di frodi, modelli di acquisto o modalità di fallimento che emergono?". L'apprendimento non supervisionato usa il clustering, le componenti principali, le reti neurali e le macchine a vettori di supporto.

L'ottimizzazione, il terzo tipo di machine learning, trova la soluzione migliore anche quando esistono vincoli complessi. Per esempio, l'ottimizzazione potrebbe rispondere alla domanda: "Qual è il percorso ottimale da fare o l'allocazione delle risorse o il programma di manutenzione delle apparecchiature?". L'ottimizzazione utilizza algoritmi genetici, che si basano sulla teoria dell'evoluzione di Darwin.

Cos'è la classificazione nell'apprendimento supervisionato?

Esistono due tipi principali di apprendimento supervisionato: classificazione e regressione. La classificazione è quando un algoritmo è addestrato a classificare i dati di input su variabili discrete. Durante l'addestramento, gli algoritmi ricevono dati di input relativi all'addestramento con un'etichetta "classe". Per esempio, i dati di addestramento potrebbero consistere negli ultimi estratti conto delle carte di credito di un gruppo di clienti, etichettati con l'indicazione se hanno fatto un acquisto futuro o meno. Quando il saldo di credito di un nuovo cliente viene presentato all'algoritmo, esso classifica il cliente nel gruppo "acquisterà" o "non acquisterà".

Cos'è la regressione nell'apprendimento supervisionato?

In contrasto con la classificazione, la regressione è un metodo di apprendimento supervisionato in cui un algoritmo è addestrato a prevedere un output da una gamma continua di possibili valori. Per esempio, i dati di addestramento del settore immobiliare prenderebbero nota della posizione, della zona e di altri parametri corrispondenti. L'output è il prezzo dell'immobile specifico.

Nella regressione, un algoritmo deve individuare una relazione funzionale tra i parametri di input e l'output. Il valore di output non è discreto come nella classificazione, ma è una funzione dei parametri di input. La correttezza di un algoritmo di regressione viene calcolata in base alla varianza tra l'output accurato e quello previsto.

Prova TIBCO Data Science - Prova gratuita
Prova TIBCO Data Science - Prova gratuita
Democratizzare, collaborare e rendere operativo il machine learning in tutta l'azienda con TIBCO Data Science.

Applicazioni della classificazione nella vita reale

Classificazione binaria

Questo algoritmo classifica i dati di input in uno dei due possibili gruppi. Spesso una delle classi indica uno stato "normale/desiderato" e l'altra indica uno stato "anormale/indesiderato". Le applicazioni nel mondo reale della classificazione binaria includono:

Rilevamento dello spam

All'algoritmo vengono date delle e-mail campione che sono etichettate come 'spam' o 'non spam' durante la fase di apprendimento supervisionato. In seguito, quando all'algoritmo viene presentato un nuovo input e-mail, esso prevede se la mail è uno "spam" o "non spam".

Previsione dell'abbandono

L'algoritmo utilizza un set di dati di addestramento di clienti che hanno disdetto un servizio in precedenza. Sulla base dell'addestramento, l'algoritmo prevede se un nuovo cliente terminerà la sottoscrizione o meno in base ai parametri di input.

Previsione di conversione

L'algoritmo viene addestrato con i dati degli acquirenti e se hanno acquistato o meno l'articolo. Quindi, sulla base di questo addestramento, l'algoritmo prevede se un nuovo cliente farà un acquisto o meno.

I principali algoritmi utilizzati per la classificazione binaria includono la regressione logistica e le macchine a vettori di supporto.

Classificazione multiclasse

Nella classificazione multiclasse, la serie di dati di addestramento è etichettato con una delle molteplici classi possibili. In contrasto con la classificazione binaria, un algoritmo multiclasse è addestrato con dati che possono essere classificati in una delle molte classi possibili. Le applicazioni per la classificazione multiclasse includono:

  • Classificazione dei volti. Sulla base dei dati di addestramento, un modello classifica una foto e la mappa associandola a una persona specifica. Una cosa da notare qui, potrebbe esistere un numero enorme di etichette di classe. In questo caso, migliaia di persone.
  • Classificazione delle e-mail. La classificazione multiclasse è usata per segmentare le email in varie categorie: sociale, istruzione, lavoro e famiglia.
  • I principali algoritmi utilizzati per la classificazione multiclasse sono foresta casuale, Naive Bayes, alberi decisionali, K-nearest neighbors e potenziamento del gradiente.

Classificazione multietichetta

A differenza della classificazione binaria e multiclasse in cui il risultato ha solo una classe possibile, l'output multietichetta appartiene a una o più classi. Ciò significa che gli stessi dati di input potrebbero essere classificati in diversi bucket. Le applicazioni di classificazione multietichetta includono:

  • Rilevamento delle foto: nei casi in cui le foto contengono diversi oggetti, come un veicolo, un animale e delle persone, la foto potrebbe rientrare in più etichette.
  • Classificazione audio/video. le canzoni e i video potrebbero rientrare in vari generi e stati d'animo. La classificazione multietichetta può essere usata per assegnare queste etichette multiple.
  • Categorizzazione del testo: è possibile categorizzare gli articoli in base al loro contenuto.

Classificazione squilibrata

Questo è un caso speciale di classificazione binaria, in cui è presente uno squilibrio di classi nel gruppo di dati di addestramento. La maggior parte degli esempi nei dati di addestramento appartiene a un gruppo e una piccola parte appartiene al secondo gruppo. Sfortunatamente, la maggior parte degli algoritmi di machine learning funziona meglio quando c'è una divisione equa tra le classi. Per esempio, diciamo che nei tuoi dati di addestramento hai 10.000 transazioni genuine di clienti e solo 100 fraudolente. Per livellare l'accuratezza, sono necessarie tecniche specializzate a causa dello squilibrio nei dati. Le applicazioni della classificazione sbilanciata potrebbero essere:

  • Rilevamento delle frodi: nel gruppo di dati etichettati usato per l'addestramento, solo un piccolo numero di input è etichettato come frode.
  • Diagnostica medica: in un grande pool di campioni, quelli positivi a una malattia potrebbero essere molti meno.

Tecniche specializzate come approcci basati sui costi e approcci basati sul campionamento sono usati per aiutare a trattare i casi di classificazione squilibrata.

Applicazioni della regressione nella vita reale

Regressione lineare

La regressione lineare nell'apprendimento supervisionato addestra un algoritmo a trovare una relazione lineare tra i dati di input e di output. È il modello più semplice usato in cui gli output rappresentano una combinazione linearmente ponderata degli output. La regressione lineare può essere utilizzata per prevedere valori all'interno di un intervallo continuo (ad esempio vendite, prezzo - previsione) o classificandoli in categorie (ad esempio gatto, cane - regressione logistica). Nei dati di addestramento per la regressione lineare, vengono fornite una variabile di input (indipendente) e una corrispondente variabile di output (la variabile dipendente). Dai dati di input etichettati forniti, l'algoritmo di regressione calcola l'intercetta e il coefficiente x nella funzione lineare. Le applicazioni della regressione lineare possono includere:

Previsione. Una delle applicazioni più significative della regressione lineare è la previsione. La previsione può essere di diversa natura. Le aziende usano la regressione lineare per prevedere le vendite o i comportamenti di acquisto dei loro clienti. È anche usata per prevedere la crescita economica, le vendite immobiliari e i prezzi delle materie prime come il petrolio. La regressione lineare è anche usata nella stima del salario ottimale per un nuovo dipendente, basato sui dati storici dei salari.

Regressione logistica

Viene utilizzata per determinare la probabilità che un evento accada. I dati di addestramento avranno una variabile indipendente e l'output desiderato sarebbe un valore tra 0 e 1. Una volta che l'algoritmo è addestrato con la regressione logistica, può prevedere il valore di una variabile dipendente (tra 0 e 1) in base al valore della variabile indipendente (input). La regressione logistica utilizza la classica funzione sigmoidea a forma di S. Nella regressione logistica nel contesto dell'apprendimento supervisionato, un algoritmo stima i valori del coefficiente beta b0 e b1 dai dati di addestramento forniti.

odds = e^(b0 + b1 * X)

Le applicazioni della regressione logistica includono:

  • Determinazione della probabilità. Una delle principali applicazioni della regressione logistica è determinare la probabilità di un evento. La probabilità di qualsiasi evento è compresa tra 0 e 1, e questo è l'output di una funzione logistica. Gli algoritmi di regressione logistica nel machine learning possono essere usati per prevedere i risultati delle elezioni, le probabilità di una calamità naturale e altri eventi simili.
  • Classificazione. Sebbene la regressione logistica utilizzi una funzione continua, alcune sue applicazioni sono nella classificazione. Può essere usata per la segmentazione di immagini e problemi di classificazione correlati.

Regressione polinomiale

La regressione polinomiale è usata per un insieme di dati più complesso che non si adatta perfettamente a una regressione lineare. Un algoritmo viene addestrato con una serie di dati complessi ed etichettati che potrebbero non rientrare bene in una regressione lineare. Se tali dati di addestramento vengono utilizzati con la regressione lineare, ciò potrebbe causare un underfitting, in cui l'algoritmo non cattura le vere tendenze dei dati. Le regressioni polinomiali consentono una maggiore curvatura nella linea di regressione e quindi una migliore approssimazione della relazione tra la variabile dipendente e quella indipendente.

Bias e varianza sono due termini principali associati alla regressione polinomiale. Bias è l'errore di modellazione che si verifica attraverso la semplificazione della funzione di adattamento. Varianza si riferisce anche a un errore causato dall'uso di una funzione ipercomplessa per adattare i dati.

Fasi fondamentali dell'apprendimento supervisionato

Per eseguire e risolvere un problema usando il machine learning supervisionato, si deve:

  • Selezionare il tipo di dati di addestramento. Il primo passo nell'apprendimento supervisionato è stabilire quale sia la natura dei dati da utilizzare per l'addestramento. Per esempio, nel caso dell'analisi della scrittura, potrebbe essere una singola lettera, una parola o una frase.
  • Raccogliere e pulire i dati di addestramento. In questa fase, i dati di addestramento sono raccolti da varie fonti e sono sottoposti a una rigorosa pulizia.
  • Scegliere un modello usando un algoritmo di apprendimento supervisionato. In base alla natura dei dati di input e all'uso desiderato, si sceglie un algoritmo di classificazione o di regressione. Potrebbe essere alberi decisionali, SVM, Naïve Bayes o foresta casuale. La considerazione principale nella scelta di un algoritmo è la velocità di addestramento, l'uso della memoria, l'accuratezza della previsione su nuovi dati e la trasparenza (o l'interpretabilità) dell'algoritmo.
  • Addestrare il modello: la funzione di adattamento è messa a punto attraverso iterazioni multiple dei dati di addestramento per migliorare l'accuratezza e la velocità di previsione.
  • Fare previsioni e valutare il modello: una volta che la funzione di adattamento è soddisfacente, l'algoritmo può ricevere nuove serie di dati per fare nuove previsioni.

Ottimizzare e riaddestrare il modello. Il decadimento dei dati è una parte naturale del machine learning. Pertanto, i modelli devono essere regolarmente riaddestrati con dati aggiornati per garantirne l'accuratezza.