Fondamenti di IA

Che cos’è il Machine Learning?

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Il machine learning è uno dei campi tecnologici in più rapida crescita, ma nonostante la frequenza con cui vengono utilizzate le parole “machine learning”, può essere difficile capire cosa sia esattamente il machine learning.

Machine learning non si riferisce a una sola cosa, è un termine ombrello che può essere applicato a molti concetti e tecniche diversi. Capire il machine learning significa essere familiari con diverse forme di analisi dei modelli, variabili e algoritmi. Vediamo da vicino il machine learning per capire meglio cosa comprende.

Che cos’è il Machine Learning?

Mentre il termine machine learning può essere applicato a molte cose diverse, in generale, il termine si riferisce all’abilità di un computer di eseguire compiti senza ricevere istruzioni esplicite riga per riga per farlo. Uno specialista di machine learning non deve scrivere tutte le istruzioni necessarie per risolvere il problema perché il computer è in grado di “imparare” analizzando i modelli all’interno dei dati e generalizzando questi modelli a nuovi dati.

I sistemi di machine learning hanno tre parti di base:

  • Input
  • Algoritmi
  • Output

Gli input sono i dati che vengono inseriti nel sistema di machine learning, e i dati di input possono essere divisi in etichette e caratteristiche. Le caratteristiche sono le variabili rilevanti, le variabili che saranno analizzate per apprendere modelli e trarre conclusioni. Nel frattempo, le etichette sono classi/descrizioni assegnate alle singole istanze dei dati.

Le caratteristiche e le etichette possono essere utilizzate in due tipi di problemi di machine learning: apprendimento supervisionato e apprendimento non supervisionato.

Apprendimento non supervisionato vs. Apprendimento supervisionato

Nell’apprendimento supervisionato, i dati di input sono accompagnati da una verità di base. I problemi di apprendimento supervisionato hanno i valori di output corretti come parte del set di dati, quindi le classi attese sono note in anticipo. Ciò rende possibile per lo scienziato dei dati verificare le prestazioni dell’algoritmo testando i dati su un set di dati di test e vedere quale percentuale di elementi è stata classificata correttamente.

In contrasto, l’apprendimento non supervisionato non ha etichette di verità di base associate ad esso. Un algoritmo di machine learning addestrato per eseguire compiti di apprendimento non supervisionato deve essere in grado di inferire i modelli rilevanti nei dati da solo.

Gli algoritmi di apprendimento supervisionato sono solitamente utilizzati per problemi di classificazione, dove si ha un grande set di dati riempito con istanze che devono essere ordinate in una delle molte classi diverse. Un altro tipo di apprendimento supervisionato è un compito di regressione, dove il valore di output dell’algoritmo è continuo in natura invece di categorico.

Nel frattempo, gli algoritmi di apprendimento non supervisionato sono utilizzati per compiti come la stima della densità, il clustering e l’apprendimento della rappresentazione. Questi tre compiti richiedono che il modello di machine learning inferisca la struttura dei dati, non ci sono classi predefinite assegnate al modello.

Vediamo brevemente alcuni degli algoritmi più comuni utilizzati sia nell’apprendimento non supervisionato che nell’apprendimento supervisionato.

Tipi di apprendimento supervisionato

Gli algoritmi di apprendimento supervisionato comuni includono:

  • Naive Bayes
  • Support Vector Machines
  • Regressione logistica
  • Foreste casuali
  • Reti neurali artificiali

Le Support Vector Machines sono algoritmi che dividono un set di dati in diverse classi. I punti di dati sono raggruppati in cluster disegnando linee che separano le classi l’una dall’altra. I punti trovati su un lato della linea appartengono a una classe, mentre i punti sull’altro lato della linea appartengono a una classe diversa. Le Support Vector Machines mirano a massimizzare la distanza tra la linea e i punti trovati su entrambi i lati della linea, e maggiore è la distanza, più il classificatore è sicuro che il punto appartenga a una classe e non a un’altra classe.

La regressione logistica è un algoritmo utilizzato in compiti di classificazione binaria quando i punti di dati devono essere classificati come appartenenti a una delle due classi. La regressione logistica funziona etichettando il punto di dati come 1 o 0. Se il valore percepito del punto di dati è 0,49 o inferiore, viene classificato come 0, mentre se è 0,5 o superiore, viene classificato come 1.

Gli algoritmi Decision Tree funzionano dividendo i set di dati in frammenti sempre più piccoli. I criteri esatti utilizzati per dividere i dati sono a discrezione dell’ingegnere di machine learning, ma l’obiettivo è quello di dividere i dati in singoli punti di dati, che saranno quindi classificati utilizzando una chiave.

Un algoritmo di foresta casuale è essenzialmente costituito da molti classificatori Decision Tree singoli collegati insieme per formare un classificatore più potente.

Il classificatore Naive Bayes calcola la probabilità che un dato punto di dati si verifichi in base alla probabilità di un evento precedente. Si basa sul teorema di Bayes e colloca i punti di dati in classi in base alla loro probabilità calcolata. Quando si implementa un classificatore Naive Bayes, si presume che tutti i predittori abbiano lo stesso influenza sul risultato della classe.

Una rete neurale artificiale, o perceptron multi-strato, sono algoritmi di machine learning ispirati alla struttura e alla funzione del cervello umano. Le reti neurali artificiali prendono il nome dal fatto che sono costituite da molti nodi/neuroni collegati insieme. Ogni neurone manipola i dati con una funzione matematica. Nelle reti neurali artificiali, ci sono strati di input, strati nascosti e strati di output.

Lo strato nascosto della rete neurale è dove i dati vengono effettivamente interpretati e analizzati per i modelli. In altre parole, è dove l’algoritmo apprende. Più neuroni collegati insieme creano reti più complesse in grado di apprendere modelli più complessi.

Tipi di apprendimento non supervisionato

Gli algoritmi di apprendimento non supervisionato includono:

  • Clustering K-means
  • Autoencoder
  • Analisi dei componenti principali

Il clustering K-means è una tecnica di classificazione non supervisionata, e funziona separando i punti di dati in cluster o gruppi in base alle loro caratteristiche. Il clustering K-means analizza le caratteristiche presenti nei punti di dati e distingue i modelli in essi che rendono i punti di dati trovati in una classe più simili l’uno all’altro che ai punti di dati trovati in altre classi. Ciò viene fatto posizionando possibili centri per il cluster, o centroidi, in un grafico dei dati e riassegnando la posizione del centride fino a quando non si trova una posizione che minimizzi la distanza tra il centride e i punti che appartengono a quella classe. Il ricercatore può specificare il numero desiderato di cluster.

L’analisi dei componenti principali è una tecnica che riduce un grande numero di caratteristiche/variabili in uno spazio di caratteristiche più piccolo. I “componenti principali” dei punti di dati vengono selezionati per la conservazione, mentre le altre caratteristiche vengono ridotte in una rappresentazione più piccola. La relazione tra le porzioni di dati originali viene conservata, ma poiché la complessità dei punti di dati è più semplice, i dati sono più facili da quantificare e descrivere.

Gli autoencoder sono versioni di reti neurali che possono essere applicate a compiti di apprendimento non supervisionato. Gli autoencoder sono in grado di prendere dati non etichettati e trasformarli in dati che una rete neurale è in grado di utilizzare, creando essenzialmente i propri dati di addestramento etichettati. L’obiettivo di un autoencoder è quello di convertire i dati di input e ricostruirli il più fedelmente possibile, quindi è nell’interesse della rete determinare quali caratteristiche sono le più importanti e estrarle.

Blogger e programmatore con specializzazioni in Machine Learning e Deep Learning argomenti. Daniel spera di aiutare gli altri a utilizzare il potere dell'AI per il bene sociale.