Machine Learning

Che cos’è il Machine Learning?

Come funziona, perché è importante e come muovere i primi passi

Il Machine Learning è una tecnica di IA che insegna ai computer ad apprendere dall’esperienza. Gli algoritmi di Machine Learning si servono di metodi computazionali per “apprendere” informazioni direttamente dai dati, senza bisogno di un’equazione predeterminata come modello. Gli algoritmi migliorano le proprie prestazioni in modo adattivo con l’aumento del numero di campioni disponibili per l’apprendimento. Il Deep Learning è una forma specializzata di Machine Learning.

Come funziona il Machine Learning

Il Machine Learning si serve di due tipi di tecniche: l’apprendimento con supervisione, che addestra un modello sulla base di dati di input e output noti in modo tale da prevedere gli output futuri, e l’apprendimento senza supervisione, che trova pattern nascosti o strutture intrinseche nei dati di input.

Tecniche di Machine Learning: apprendimento senza supervisione (clustering) e apprendimento con supervisione (classificazione e regressione).

Figura 1. Le tecniche di Machine Learning includono l’apprendimento con supervisione e l’apprendimento senza supervisione.

Apprendimento con supervisione

Il Machine Learning con supervisione costruisce un modello che fa previsioni sulla base di evidenze in presenza di incertezza. Un algoritmo di apprendimento con supervisione usa un set noto di dati di input e di risposte ai dati note (output) e addestra un modello per generare previsioni ragionevoli in merito alla risposta a dati nuovi. Usa l’apprendimento con supervisione se disponi di dati noti relativi all’output che stai cercando di prevedere.

L’apprendimento con supervisione sfrutta tecniche di classificazione e regressione per sviluppare modelli di Machine Learning.

Le tecniche di classificazione prevedono risposte discrete, ad esempio se un’email è autentica o è spam oppure se un tumore è benigno o maligno. I modelli di classificazione classificano i dati di input in categorie. Tra le applicazioni tipiche compaiono la diagnostica per immagini, il riconoscimento vocale e la valutazione del credito.

Usa la classificazione se i tuoi dati possono essere taggati, categorizzati o separati in gruppi specifici o classi. Ad esempio, le applicazioni per il riconoscimento della scrittura si servono della classificazione per riconoscere lettere e numeri. Nel campo dell’elaborazione di immagini e visione artificiale, vengono impiegate delle tecniche di riconoscimento di pattern senza supervisione per il rilevamento oggetti e la segmentazione di immagini. Gli algoritmi più utilizzati per eseguire la classificazione sono disponibili qui.

Le tecniche di regressione prevedono risposte continue, ad esempio quantità fisiche difficili da misurare come lo stato di carica di una batteria, il carico di elettricità su una rete oppure i prezzi di asset finanziari. Tra le applicazioni tipiche compaiono il rilevamento virtuale, la previsione del consumo elettrico e il trading algoritmico.

Usa le tecniche di regressione se stai lavorando con un range di dati o se la natura della tua risposta è un numero reale, come una temperatura o il tempo residuo prima che un’apparecchiatura si guasti. Gli algoritmi più utilizzati per eseguire la regressione sono disponibili qui.

Machine Learning con supervisione

Scopri come utilizzare il Machine Learning con supervisione per addestrare un modello in modo tale da associare dati di input a dati di output e prevedere la risposta a input nuovi.

Machine Learning senza supervisione

L’apprendimento senza supervisione individua pattern nascosti o strutture intrinseche nei dati. Viene utilizzato per trarre inferenze dai set di dati costituiti da dati di input senza risposte etichettate.

Il clustering è la tecnica di apprendimento senza supervisione più popolare. Viene utilizzato per l’analisi esplorativa dei dati con lo scopo di trovare pattern nascosti o raggruppamenti nei dati. Le applicazioni di analisi dei cluster comprendono le analisi delle sequenze di geni, ricerche di mercato e il riconoscimento oggetti.

Ad esempio, se un’azienda di telefonia cellulare vuole ottimizzare l’ubicazione dei ripetitori, può utilizzare il Machine Learning per stimare il numero di cluster di persone che utilizzano tali ripetitori. Un telefono può comunicare con un solo ripetitore per volta, per cui il team utilizza gli algoritmi di clustering per progettare il posizionamento migliore dei ripetitori in modo tale da ottimizzare la ricezione del segnale per i gruppi, o cluster, di clienti. Gli algoritmi più utilizzati per eseguire il clustering sono disponibili qui.

Il clustering è un metodo di Machine Learning che trova dei pattern nascosti nei dati senza supervisione.

Figura 2. Il clustering individua i pattern nascosti nei dati.

Machine Learning senza supervisione

Familiarizza con il Machine Learning senza supervisione, in grado di identificare pattern all’interno di set di dati senza risposte etichettate. Questo approccio consente di esplorare i dati quando si hanno dubbi sulle informazioni contenute in detti dati.

Come si fa a scegliere quale algoritmo di Machine Learning utilizzare?

Scegliere l’algoritmo più giusto da usare può sembrare arduo in quanto esistono decine di algoritmi di Machine Learning con e senza supervisione, ciascuno dei quali adotta un approccio diverso all’apprendimento.

Non esiste un metodo migliore o un’opzione sempre valida. In parte, per trovare l’algoritmo giusto non si deve fare altro che procedere per tentativi ed errori. Neanche i data scientist più esperti sono in grado di capire se un algoritmo funzionerà senza prima provarlo. La selezione dell’algoritmo, però, dipende anche dalle dimensioni e dalla tipologia di dati con cui si lavora, dalle informazioni che si desidera ottenere da tali dati e dall’uso che verrà fatto delle informazioni ottenute.

Diagramma di algoritmi di Machine Learning raggruppati per classificazione, regressione e clustering.

Figura 3. Tecniche di Machine Learning.

Ecco alcune linee guida su come scegliere tra il Machine Learning senza supervisione e con supervisione:

  • Scegli l’apprendimento con supervisione se hai bisogno di addestrare un modello per fare una previsione, ad esempio sul valore futuro di una variabile continua, come una temperatura o un prezzo azionario, oppure una classificazione, ad esempio per identificare le case automobilistiche dalle riprese video di una webcam.
  • Scegli l’apprendimento senza supervisione se devi esplorare i tuoi dati e desideri addestrare un modello al fine di individuare una buona rappresentazione interna, come la suddivisione di dati in cluster.

Perché il Machine Learning è importante

Con l’aumento dei big data, il Machine Learning è ormai una tecnica fondamentale per risolvere problemi in più settori, tra cui quelli indicati di seguito:

Settore automotive

Aerospazio e Difesa

Analisi della produzione

Dispositivi medici

Elaborazione di segnali

Più dati, più domande, risposte migliori

Gli algoritmi di Machine Learning individuano dei pattern naturali nei dati che generano informazioni e aiutano a prendere decisioni più oculate e a fare previsioni migliori. Vengono utilizzati ogni giorno per prendere decisioni importanti nel campo delle diagnosi mediche, del trading azionario, della previsione del carico energetico e molto altro ancora. Ad esempio, un sito multimediale si affida al Machine Learning per passare al setaccio milioni di opzioni al fine di consigliare canzoni o film. Gli esercenti lo usano per ottenere informazioni sul comportamento di acquisto dei propri clienti.

Quando bisognerebbe usare il Machine Learning?

Il Machine Learning può essere usato quando si ha a che fare con un problema o un’attività complessa che coinvolge una grande quantità di dati e molte variabili, ma nessuna formula o equazione esistente.

Qual è la differenza tra Machine Learning e Deep Learning?

Il Deep Learning è una forma specializzata di Machine Learning. Nel contesto dell’analisi delle immagini, un workflow di Machine Learning inizia con l’estrazione manuale delle feature rilevanti dalle immagini. Successivamente, le feature vengono utilizzate per creare un modello con cui categorizzare gli oggetti nell’immagine. In un workflow di Deep Learning, le feature rilevanti vengono estratte automaticamente dalle immagini. In più, il Deep Learning esegue un “apprendimento end-to-end”, nell’ambito del quale una rete riceve dati grezzi e un’attività da svolgere, come la classificazione, e impara automaticamente a farlo.

Figura 4. Confronto tra approcci di categorizzazione dei veicoli, uno basato sul Machine Learning (sinistra) e uno basato sul Deep Learning (destra).

Nel Machine Learning, le feature e il classificatore per ordinare le immagini vengono scelti manualmente. Con il Deep Learning, le fasi di estrazione delle feature e di modellazione sono automatiche.

Come scegliere tra il Machine Learning e il Deep Learning

Il Machine Learning mette a disposizione svariate tecniche e modelli tra cui scegliere in base alla propria applicazione, alla dimensione dei dati da elaborare e al tipo di problema che si deve risolvere. Un’applicazione di Deep Learning efficace richiede una grandissima quantità di dati (migliaia di immagini) per addestrare il modello, oltre a GPU o unità di elaborazione grafica, per elaborare rapidamente i dati.

Per scegliere tra Machine Learning e Deep Learning, occorre dunque tenere conto se di dispone di una GPU ad alte prestazioni e di numerosi dati etichettati. Se manca anche solo uno di questi elementi, potrebbe essere meglio prediligere il Machine Learning al Deep Learning. Il Deep learning in genere è più complesso, per cui occorrono almeno alcune migliaia di immagini per ottenere risultati affidabili.

Chi sceglie il Machine Learning ha la possibilità di addestrare il proprio modello su più classificatori diversi. È inoltre possibile sapere quali feature estrarre per produrre i risultati migliori. In più, è possibile scegliere una combinazione di approcci, usare classificatori diversi e feature per capire qual è la disposizione più efficace in base ai propri dati.

Machine Learning e Deep Learning a confronto | Introduzione al Deep Learning

Scopri le differenze tra il Deep Learning e il Machine Learning in questo MATLAB Tech Talk. Guarda vari esempi e scopri come scegliere quale metodo utilizzare.

Machine Learning con MATLAB

MATLAB semplifica il Machine Learning. Grazie a strumenti e funzioni per la gestione dei big data, nonché ad app che rendono il Machine Learning accessibile, MATLAB è l’ambiente ideale per applicare il Machine Learning all’analisi dei propri dati.

Con MATLAB, ingegneri e data scientist hanno accesso immediato a funzioni integrate, a toolbox completi e ad app specializzate per la classificazione, la regressione e il clustering e possono utilizzare i dati per prendere decisioni migliori.

MATLAB consente di:

  • Estrarre feature da segnali e immagini con metodi noti automatizzati e manuali e selezionare le feature automaticamente per rendere i modelli più compatti.
  • Ottimizzare le feature tramite l’applicazione di varie tecniche di progettazione delle feature.
  • Confrontare approcci come la regressione logistica, gli alberi di classificazione, le macchine a vettori di supporto, i metodi di ensemble e il Deep Learning.
  • Applicare AutoML per ottimizzare i modelli con tecniche di riduzione e sincronizzazione degli iperparametri.
  • Integrare modelli di Machine Learning in sistemi aziendali, cluster e nel Cloud, e indirizzare i modelli su hardware embedded in tempo reale.
  • Eseguire la generazione automatica di codice per l’analisi di sensori embedded.
  • Supportare workflow integrati, dall’analisi dei dati alla distribuzione.