Comprendere i principi del Machine Learning

Completato

Il Machine Learning è una tecnica di programmazione usata per creare modelli predittivi. Diversamente dalla programmazione tipica, in cui il codice viene usato per descrivere passaggi specifici per produrre un risultato, il Machine Learning si basa sull'uso di un algoritmo per esplorare in modo iterativo la relazione tra le funzionalità di un'entità dati e l'etichetta che il modello risultante deve prevedere. Gli algoritmi di Machine Learning fanno riferimento alla teoria e alle statistiche di probabilità e si basano su grandi volumi di dati con cui eseguire il training del modello.

Per semplificare, un modello di Machine Learning è una funzione che accetta le funzionalità di un'entità osservata (le sue caratteristiche) ed esegue un calcolo su di esse per restituire un'etichetta prevista. È comune fare riferimento in generale alle funzionalità come x e all'etichetta prevista come y. Un modello di Machine Learning è quindi la funzione f nell'espressione y = f(x).

L'operazione specifica eseguita dalla funzione sulle funzionalità per calcolare un valore per l'etichetta è determinata dall'algoritmo usato per eseguire il training del modello.

Tipi di Machine Learning

In generale, esistono due tipi comuni di Machine Learning:

  • Il Machine Learning supervisionato in cui il training del modello viene eseguito usando i dati che includono valori di etichetta noti (pertanto un algoritmo usa i dati esistenti per stabilire una relazione tra x e y, generando una funzione che può essere applicata a x per calcolare y).
  • Il Machine Learning non supervisionato in cui il training del modello viene eseguito usando solo i valori delle funzionalità (x) e osservazioni di gruppi (o cluster) con funzionalità simili.

Apprendimento automatico con supervisione

Questo modulo è incentrato sul Machine Learning supervisionato, in quanto è lo scenario più comune. All'interno dell'ampia definizione di Machine Learning supervisionato, esistono due tipi comuni di algoritmo di Machine Learning:

  • Algoritmi di regressione in cui l'etichetta è un valore numerico, ad esempio un prezzo, una temperatura, una quantità o un altro valore che può essere misurato. Gli algoritmi di regressione producono modelli in cui la funzione (f) opera sulle funzionalità (x) per calcolare il valore numerico dell'etichetta (y).

    Ad esempio, un algoritmo di regressione può essere usato per eseguire il training di un modello che stima il numero previsto di gelati venduti da un chiosco in un parco in un determinato giorno in base a funzionalità come il mese dell'anno, il giorno della settimana, la temperatura, l'umidità e così via.

  • Algoritmi di classificazione in cui l'etichetta è una categoria (o classe) discreta. Gli algoritmi di classificazione producono modelli in cui la funzione (f) opera sulle funzionalità (x) per calcolare un valore di probabilità per ogni classe possibile e restituisce l'etichetta (y) per la classe con la probabilità più elevata.

    Ad esempio, un algoritmo di classificazione può essere usato per eseguire il training di un modello che prevede se un paziente ha o meno il diabete in base a funzionalità come il livello di insulina del sangue, il peso, l'altezza, l'età e così via. Un modello di classificazione che identifica una di due classi possibili (ad esempio vero o falso) è un esempio di classificazione binaria. Gli algoritmi che stimano la probabilità per più di due classi (ad esempio, differenziando tra pazienti senza diabete, con diabete di tipo 1 o con diabete di tipo 2) vengono usati per la classificazione multiclasse.

Apprendimento automatico senza supervisione

La forma più comune di apprendimento non supervisionato è il clustering, in cui le funzionalità dei casi di dati sono considerate come vettore di punti nello spazio multidimensionale. L'obiettivo di un algoritmo di clustering è definire cluster che raggruppano i punti in modo che i casi con funzionalità simili siano vicini, ma i cluster sono chiaramente separati l'uno dall'altro.

Il clustering è utile quando è necessario definire diverse categorie di dati, ma non si dispone di categorie predefinite a cui sono già assegnate osservazioni dei dati esistenti. Ad esempio, potrebbe essere necessario segmentare i clienti in base alle analogie nei profili. Il clustering può essere usato anche come passaggio iniziale per la creazione di una soluzione di classificazione. Fondamentalmente, si usa il clustering per determinare le classi appropriate per i dati.