Ciao, cosa vuoi cercare?

Tecnologia

Cos’è il Machine Learning

In molti modi, l’apprendimento automatico è il mezzo principale con cui la scienza dei dati si manifesta al mondo in generale. È il luogo in cui queste abilità computazionali e algoritmiche della scienza dei dati incontrano il pensiero statistico della scienza dei dati e il risultato è una raccolta di approcci all’inferenza e all’esplorazione dei dati che non riguardano una teoria efficace quanto un calcolo efficace.

associare l'intelligenza artificiale al cervello umano mediante un grafo di neuroni
associare l'intelligenza artificiale al cervello umano mediante un grafo di neuroni

Il termine “apprendimento automatico” (machine learning) a volte viene usato come se fosse una soluzione magica a tutti i problemi: applica l’apprendimento automatico ai tuoi dati e tutti i tuoi problemi saranno risolti! Come ci si potrebbe aspettare, la realtà è molto distante da tutto ciò. Sebbene questi metodi possano essere incredibilmente potenti, per essere efficaci devono essere affrontati con una solida conoscenza dei punti di forza e di debolezza di ciascun metodo, nonché con una comprensione di concetti generali come bias e variance, overfitting e underfitting e altro ancora.

Praticamente cos’è e come viene applicato?

Prima di dare un’occhiata ai dettagli dei vari metodi di apprendimento automatico, iniziamo osservando cosa rappresenta l’apprendimento automatico e cosa no. È spesso classificato come un sottocampo dell’intelligenza artificiale. Lo studio è sicuramente nato ricercando in questo settore, ma nell’applicazione della scienza dei dati dei metodi di apprendimento automatico, è più utile pensare a quest’ultimo come mezzo per costruire modelli di dati.

Fondamentalmente, l’apprendimento automatico implica la creazione di modelli matematici per aiutare a comprendere i dati. “Apprendimento” entra nella mischia quando diamo a questi modelli parametri sintonizzabili (tunable) che possono essere adattati ai dati osservati; in questo modo si può affermare che il programma stia “imparando” dai dati. Una volta che questi modelli sono stati adattati ai dati visti in precedenza, possono essere utilizzati per prevedere e comprendere aspetti dei dati appena osservati. Si potrebbero fare diverse digressioni filosofiche su come questo tipo di apprendimento matematico sia distante (o vicino) all’apprendimento compiuto dall’essere umano ma non è questo l’articolo giusto…

Comprendere l’impostazione del problema dell’apprendimento automatico è essenziale per utilizzare questi strumenti in modo efficace, è quindi necessario categorizzare i tipi di approcci che lo caratterizzano.

Categorie di Machine Learning

Al livello più fondamentale, l’apprendimento automatico può essere classificato in due tipi principali: apprendimento supervisionato (supervised learning) apprendimento non supervisionato (unsupervised learning).

L’apprendimento supervisionato modella la relazione tra le caratteristiche misurate dei dati e alcune etichette associate a questi; una volta determinato questo modello, può essere utilizzato per applicare etichette a dati nuovi e sconosciuti. Questo è ulteriormente suddiviso in compiti di classificazione e compiti di regressione. Nella classificazione le etichette sono categorie discrete. Nella regressione le etichette sono quantità continue.

L’apprendimento non supervisionato implica la modellazione delle caratteristiche di un set di dati senza fare riferimento ad alcuna etichetta ed è spesso descritto come “lasciare che il set di dati parli da solo“. Questi modelli includono attività come il raggruppamento e la riduzione della dimensionalità. Gli algoritmi di clustering identificano gruppi distinti di dati, mentre gli algoritmi di riduzione della dimensionalità cercano rappresentazioni più succinte dei dati.

Ci sono, inoltre, i cosiddetti metodi di apprendimento semi-supervisionati. Si collocano a metà tra l’apprendimento supervisionato e l’apprendimento non supervisionato. I metodi di apprendimento semi-supervisionati sono spesso utili quando sono disponibili etichette incomplete per i dati.

Esempi qualitativi del machine learning

Per rendere queste idee più concrete, occorre fornire alcuni esempi molto semplici di apprendimento automatico. Questi esempi hanno lo scopo di fornire una panoramica intuitiva (qualitativa) e non quantitativa dei tipi di attività di apprendimento automatico che esamineremo in questo capitolo.

Classificazione: previsione di etichette discrete

Un semplice compito di classificazione è quello in cui ti viene data una serie di punti etichettati e li si vuole usare per classificare alcuni punti senza etichetta. Immaginiamo di avere i dati mostrati in questa figura:

Qui abbiamo dati bidimensionali: cioè abbiamo due caratteristiche per ogni punto, rappresentate dalle posizioni (x,y) dei punti sul piano. Inoltre, abbiamo una delle due etichette di classe per ogni punto, qui rappresentata dai colori dei punti. Da queste caratteristiche ed etichette, vorremmo creare un modello che ci permetta di decidere se un nuovo punto debba essere etichettato come “blu” o “rosso”.

Per trovare una soluzione si potrebbero utilizzare svariati modelli diversi ma qui ne useremo uno estremamente semplice. Faremo l’ipotesi che i due gruppi possano essere separati tracciando una linea retta attraverso il piano tra di loro, in modo tale che i punti su ciascun lato della linea cadano nello stesso gruppo. Qui il modello è una versione quantitativa dell’affermazione “una linea retta separa le classi”, mentre i parametri del modello sono i numeri particolari che descrivono la posizione e l’orientamento di quella linea per i nostri dati. I valori ottimali per questi parametri del modello vengono appresi dai dati (questo è “l’apprendimento” nell’apprendimento automatico), che viene spesso chiamato addestramento del modello. La figura seguente mostra una rappresentazione visiva dell’aspetto del modello addestrato per questi dati:

Ora che questo modello è stato addestrato, può essere generalizzato a nuovi dati senza etichetta. In altre parole, possiamo prendere una nuova serie di dati, tracciare questa linea di modello attraverso di essa e assegnare etichette ai nuovi punti in base a questo modello. Questa fase è solitamente chiamata previsione. Vedere la figura seguente:

Questa è l’idea di base di un’attività di classificazione nell’apprendimento automatico, dove “classificazione” indica che i dati hanno etichette di classe discrete. A prima vista questo può sembrare abbastanza banale: sarebbe relativamente facile guardare semplicemente questi dati e tracciare una linea così discriminatoria per realizzare questa classificazione. Un vantaggio dell’approccio di apprendimento automatico, tuttavia, è che può essere generalizzato a set di dati molto più grandi in molte più dimensioni.

Ad esempio, questo è simile all’attività di rilevamento automatico dello spam per la posta elettronica. In questo caso le feature del modello sarebbero rappresentate dal conteggio delle parole rilevanti nelle nostre mail e le etichette sarebbero “spam” “non spam”. Il compito diverrebbe quello di analizzare, in base all’occorrenza delle parole, quali e-mail sono spam e quali no; e, una volta addestrato il modello, utilizzare queste informazioni apprese per etichettare una nuova mail in ingresso.

Regressione: previsione di etichette continue

A differenza della classificazione, dove le etichette sono discrete, la regressione presenta uno spazio continuo di valori per le etichette, come dimostrano i dati nella figura seguente, che consiste in un insieme di punti ciascuno con un’etichetta continua:

Come nell’esempio di classificazione, abbiamo dati bidimensionali: cioè ci sono due caratteristiche che descrivono ogni punto (dato). Il colore di ogni punto rappresenta l’etichetta continua per quel punto: colore diverso valore diverso.

Ci sono un certo numero di possibili modelli di regressione che potremmo usare per questo tipo di dati, ma qui useremo una semplice regressione lineare per prevedere i punti. Questo semplice modello di regressione lineare presuppone che se trattiamo l’etichetta come una terza dimensione spaziale, possiamo adattare un piano ai dati. Questa viene detta generalizzazione di livello superiore. Possiamo visualizzare questa configurazione come mostrato nella figura seguente:

In questo grafico l’etichetta è rappresentata sia dal colore che dalla posizione: la nuova dimensione aggiunta. Attraverso questo punto di vista sembra ragionevole che l’adattamento di un piano attraverso questi dati tridimensionali ci permetta di prevedere l’etichetta attesa per qualsiasi insieme di parametri di input. Tornando alla proiezione bidimensionale, quando adattiamo un tale piano otteniamo il risultato mostrato nella figura seguente:

Questo piano di adattamento ci fornisce ciò di cui abbiamo bisogno per prevedere le etichette per i nuovi punti. Visivamente, troviamo i risultati mostrati nella figura seguente:

Come con l’esempio di classificazione, questo può sembrare piuttosto banale in un basso numero di dimensioni. Ma il potere di questi metodi è che possono essere applicati e valutati in modo diretto nel caso di dati con moltissime caratteristiche.

Si potrebbe usare per calcolare la distanza delle galassie osservate attraverso un telescopio; dove le feature sono rappresentate dalla luminosità delle galassie e dalle diverse lunghezze d’onda e colore, mentre le etichette dai valori di distanza tra le galassie.

Le distanze per un piccolo numero di queste galassie potrebbero essere determinate attraverso un insieme indipendente di osservazioni (in genere più costose). Le distanze delle galassie rimanenti potrebbero quindi essere stimate utilizzando un modello di regressione adatto, senza la necessità di impiegare l’osservazione più costosa sull’intero set. Nei circoli di astronomia, questo è noto come il problema del “photometric redshift”.

Clustering: dedurre etichette su dati non etichettati

Le illustrazioni di classificazione e regressione che abbiamo appena visto sono esempi di algoritmi di apprendimento supervisionato, in cui stiamo cercando di costruire un modello che preveda le etichette per i nuovi dati. L’apprendimento non supervisionato coinvolge modelli che descrivono i dati senza riferimento a etichette note.

Un caso comune di apprendimento non supervisionato è il “clustering“, in cui i dati vengono assegnati automaticamente a un certo numero di gruppi discreti. Ad esempio, potremmo avere alcuni dati bidimensionali come quelli mostrati nella figura seguente:

Ad occhio, è chiaro che ciascuno di questi punti fa parte di un gruppo distinto. Dato questo input, un modello di clustering utilizzerà la struttura intrinseca dei dati per determinare quali punti sono correlati tra di loro:

Il modello è costituito da k centri di cluster nei quali si assume che i centri ottimali siano quelli che minimizzano la distanza di ciascun punto dal centro assegnato. Di nuovo, questo potrebbe sembrare un banale esercizio in due dimensioni, ma man mano che i nostri dati diventano più grandi e più complessi, tali algoritmi di clustering possono essere impiegati per estrarre informazioni utili dal set di dati.

Riduzione della dimensionalità: inferenza della struttura dei dati non etichettati

La riduzione della dimensionalità è un altro esempio di un algoritmo non supervisionato, in cui le etichette o altre informazioni sono dedotte dalla struttura del set di dati stesso. La riduzione della dimensionalità è un po’ più astratta degli esempi che abbiamo visto prima, ma in genere cerca di estrarre una rappresentazione a bassa dimensionalità dei dati che in qualche modo preserva le qualità rilevanti dell’intero set di dati. Per esempio, si possono considerare i dati mostrati nella figura seguente:

Visivamente, è chiaro che c’è una struttura in questi dati: è disegnato da una linea unidimensionale che è disposta a spirale all’interno di questo spazio bidimensionale. In un certo senso, si potrebbe dire che questi dati sono “intrinsecamente” solo unidimensionali, sebbene questi dati unidimensionali siano incorporati nello spazio a più dimensioni. Un modello di riduzione della dimensionalità adatto in questo caso sarebbe sensibile a questa struttura incorporata non lineare e sarebbe in grado di estrarre questa rappresentazione di dimensionalità inferiore. La figura seguente mostra una visualizzazione dei risultati di un algoritmo di questo genere.

Si noti che i colori (che rappresentano la variabile latente unidimensionale estratta) cambiano uniformemente lungo la spirale, ciò indica che l’algoritmo ha effettivamente rilevato la struttura che abbiamo visto a occhio nudo. Come negli esempi precedenti, il potere degli algoritmi di riduzione della dimensionalità diventa più chiaro nei casi a più dimensioni. Ad esempio, potremmo voler visualizzare relazioni importanti all’interno di un set di dati che ha 100 o 1.000 feature. Visualizzare dati a 1.000 dimensioni è complesso e un modo per renderlo più gestibile è utilizzare una tecnica di riduzione della dimensionalità per ridurre i dati a due o tre dimensioni.

Conclusioni

È evidente come il mondo dell’intelligenza artificiale e dell’apprendimento automatico sia molto mistificato e di come sia evidente che per “i non addetti ai lavori” possa sembrare qualcosa di “futuristico” e di fantascientifico. La realtà dei fatti è che la scienza è molto distante da tutto ciò, nonostante i grandissimi progressi che si sono fatti nel campo dell’IA. Questi approcci rappresentano sicuramente il presente e, a maggior ragione, il futuro del mondo dei dati e del mondo più in generale. Come molti sanno i dati sono il “nuovo petrolio” e saperli interpretare correttamente potrebbe fornirci un grande vantaggio competitivo.


Crediti

Il contenuto di questo articolo è stato tratto dal materiale universitario del corso di Fondamenti di Data Science all’università La Sapienza di Roma tenuto dai professori Fabio Galasso e Daniele Pannone.

Commenta

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Potrebbe interessarti...