Machine Learning

menu icon

Machine Learning

Il machine learning si concentra sulle applicazioni che imparano dall'esperienza e migliorano il loro processo decisionale o l'accuratezza predittiva nel tempo.

Cos'è il machine learning?

Il machine learning è un ramo dell'intelligenza artificiale (AI) focalizzato sulla creazione di applicazioni che imparano dai dati e migliorano la loro accuratezza nel tempo senza essere programmate per questa attività. 

Nella data science, un algoritmo è una sequenza di fasi di elaborazione statistica. Nel machine learning, gli algoritmi vengono 'addestrati' per trovare modelli e caratteristiche in quantità massicce di dati al fine di prendere decisioni ed effettuare previsioni in base ai nuovi dati. Migliore è l'algoritmo, più le decisioni e le previsioni miglioreranno man mano che vengono elaborati ulteriori dati.

Oggi, siamo circondati da esempi di machine learning. Gli assistenti digitali effettuano ricerche su web e riproducono musica in risposta ai nostri comandi vocali. I siti web consigliano prodotti, film e canzoni in base a ciò che abbiamo precedentemente acquistato, guardato o ascoltato. I robot domestici puliscono i nostri pavimenti mentre impieghiamo il nostro tempo in attività più interessanti. I rivelatori di Spam impediscono alle email indesiderate di raggiungere le nostre caselle di posta in arrivo. I sistemi di analisi delle immagini mediche aiutano i medici a individuare malattie gravi che potrebbero non essere state diagnosticate. E, intanto, sulle strade iniziano a circolare le prime auto a guida autonoma.

Possiamo aspettarci di più. Man mano che i big data continuano a crescere, la capacità di elaborazione diventa sempre più potente ed affidabile ed i data scientist continuano a sviluppare algoritmi più potenti, l'apprendimento automatico guiderà un'efficienza sempre maggiore nella nostra vita personale e lavorativa. 

Come funziona il machine learning

Per creare un'applicazione (o un modello) di machine learning, è necessario eseguire quattro passi di base. Questi sono generalmente eseguiti da data scientist che lavorano a stretto contatto con i professionisti del business per i quali viene sviluppato il modello.

Passo 1: Selezionare e preparare un dataset di formazione

I dati di formazione sono un dataset rappresentativo dei dati che il modello di machine learning apprende per risolvere il problema che si intende risolvere. In alcuni casi, i dati di formazione sono dati etichettati - 'contrassegnati' per richiamare funzioni e classificazioni che il modello dovrà identificare. Altri dati sono non etichettati, e il modello dovrà estrarre quelle funzioni e assegnare le classificazioni per proprio conto.

In entrambi i casi, i dati di formazione devono essere adeguatamente preparati - randomizzati, deduplicati e controllati per ricercare eventuali distorsioni o squilibri che potrebbero avere effetto sulla formazione. Inoltre, devono essere divisi in due sottoinsiemi: il sottoinsieme di formazione, che verrà utilizzato per la formazione dell'applicazione, e il sottoinsieme di valutazione, utilizzato per testare e perfezionare il modello.

Passo 2: Scegliere un algoritmo da eseguire sul dataset di formazione

Nuovamente, un algoritmo è una serie di passi di elaborazione statistica. Il tipo di algoritmo dipende dal tipo (etichettato o non etichettato) e dalla quantità di dati presenti nel dataset di formazione e dal tipo di problema da risolvere.

I tipi comuni di algoritmi di machine learning da utilizzare con i dati etichettati comprendono:

  • Algoritmi di regressione: la regressione lineare e la regressione logistica sono esempi di algoritmi di regressione utilizzati per comprendere le relazioni nei dati. La regressione lineare viene utilizzata per prevedere il valore di una variabile dipendente in base al valore di una variabile indipendente. La regressione logistica può essere utilizzata quando la variabile dipendente è binaria per natura: A o B. Ad esempio, un algoritmo di regressione lineare potrebbe essere addestrato in modo da prevedere le vendite annuali di un venditore (la variabile dipendente) in base al suo rapporto con l'istruzione o gli anni di esperienza (le variabili indipendenti). Un altro tipo di algoritmo di regressione, chiamato macchina a vettori di supporto, è utile quando le variabili dipendenti sono più difficili da classificare.
  • Alberi delle decisioni: gli alberi delle decisioni utilizzano i dati classificati per fornire raccomandazioni basate su una serie di regole di decisione. Ad esempio, un albero delle decisioni che consiglia di scommettere sulla vittoria o sul piazzamento di un determinato cavallo potrebbe utilizzare i dati relativi al cavallo (ad esempio, età, percentuale di vittorie, pedigree) e applicare regole a quei fattori per consigliare un'azione o una decisione.
  • Algoritmi basati sull'istanza: un buon esempio di algoritmo basato sull'istanza è K-Nearest Neighbor o k-nn. Utilizza la classificazione per stimare la probabilità con cui un punto dati sia membro di un gruppo o di un altro in base alla sua vicinanza ad altri punti dati.

Gli algoritmi da utilizzare con i dati non etichettati comprendono:

  • Algoritmi di clustering: pensa ai cluster come a gruppi. Il clustering si concentra sull'identificazione di gruppi di record simili e sull'applicazione di etichette ai record in base al gruppo di appartenenza. Ciò avviene senza conoscenze preliminari sui gruppi e sulle loro caratteristiche. I tipi di algoritmi di clustering includono il clustering K-means, TwoStep e Kohonen.
  • Algoritmi di associazione: gli algoritmi di associazione individuano modelli e relazioni nei dati e identificano frequenti relazioni 'if-then' chiamate regole di associazione. Queste sono simili alle regole utilizzate nell'estrazione dati.
  • Reti neurali: una rete neurale è un algoritmo che definisce una rete stratificata di calcoli che presenta un livello di input, in cui i dati vengono acquisiti; almeno un livello nascosto, in cui vengono eseguiti i calcoli e vengono determinate conclusioni diverse in base all'input; e un livello di output, in cui a ciascuna conclusione è assegnata una probabilità. Una rete neurale profonda definisce una rete con più livelli nascosti, ognuno dei quali perfeziona i risultati del livello precedente. (Per ulteriori informazioni consultare la sezione "Deep learning" riportata di seguito).

Passo 3: Formazione dell'algoritmo per creare il modello

La formazione dell'algoritmo è un processo iterativo - implica l'esecuzione di variabili attraverso l'algoritmo, il confronto dell'output con i risultati che avrebbe dovuto produrre, la regolazione di pesi e distorsioni all'interno dell'algoritmo che potrebbero generare un risultato più accurato e la nuova esecuzione delle variabili fino a quando l'algoritmo non restituisce il risultato corretto nella maggior parte dei casi. L'algoritmo risultante accurato e addestrato è il modello di machine learning - una distinzione importante da notare, perché 'algoritmo' e 'modello ' sono erroneamente utilizzati in modo intercambiabile, anche dagli esperti di machine learning.

Fase 4: Utilizzo e miglioramento del modello 

Il passo finale è quello di utilizzare il modello con nuovi dati e, nel migliore dei casi, migliorarlo in termini di precisione ed efficacia nel tempo. La provenienza dei nuovi dati dipende dal problema da risolvere. Ad esempio, un modello di machine learning progettato per identificare lo spam acquisisce i messaggi email, mentre un modello di machine learning che gestisce un robot aspirapolvere acquisisce i dati derivanti dall'interazione del mondo reale con mobili spostati o nuovi oggetti nella stanza.

Metodi di machine learning 

I metodi di machine learning (chiamati anche stili di machine learning) sono suddivisi in tre categorie principali.

Per un'analisi approfondita delle differenze tra questi approcci, consultare "Apprendimento supervisionato e non supervisionato. Qual è la differenza?"

Machine learning supervisionato            

Il machine learning supervisionato si addestra su un dataset etichettato. I dati vengono etichettati con informazioni la cui determinazione è il motivo della creazione del modello di machine learning e che possono essere addirittura classificate nei modi in cui il modello dovrebbe classificare i dati. Ad esempio, un modello di visione artificiale progettato per identificare i cani di razza Pastore Tedesco purosangue potrebbe essere addestrato su un set di dati di varie immagini di cani etichettate.

Il machine learning supervisionato richiede una minore quantità di dati di formazione rispetto ad altri metodi di machine learning e rende più facile la formazione perché i risultati del modello possono essere confrontati con i risultati etichettati effettivi. Ma, i dati opportunamente etichettati sono costosi da preparare, ed esiste la possibilità di overfitting o di creare un modello così strettamente legato e basato sui dati di formazione che non gestisce in modo accurato le variazioni nei nuovi dati.

Scopri di più sull'apprendimento supervisionato.   

Machine learning non supervisionato

Il machine learning non supervisionato acquisisce i dati non etichettati - in quantità molto elevate - e utilizza algoritmi per estrarre le caratteristiche significative necessarie per etichettare, ordinare e classificare i dati in tempo reale, senza l'intervento umano. L'apprendimento non supervisionato riguarda in misura minore l'automazione delle decisioni e delle previsioni e maggiormente l'identificazione di modelli e relazioni che gli esseri umani non riuscirebbero ad identificare. Prendiamo ad esempio il rilevamento dello spam - le persone generano un numero di email superiore a quello che un team di data scientist potrebbe mai sperare di etichettare o classificare nella propria vita. Un algoritmo di apprendimento non supervisionato può analizzare enormi volumi di email e scoprire le caratteristiche e i modelli che indicano lo spam (e continuare, nel tempo, a migliorarne l'identificazione).

Scopri di più sull'apprendimento non supervisionato.

Apprendimento parzialmente supervisionato 

L'apprendimento parzialmente supervisionato rappresenta il giusto compromesso tra apprendimento supervisionato e non supervisionato. Durante la formazione, utilizza un dataset etichettato più piccolo , impostato per guidare la classificazione e l'estrazione delle funzioni da un dataset non etichettato di dimensioni maggiori. L'apprendimento parzialmente supervisionato può risolvere il problema di non disporre di un numero sufficiente di dati (o di non potersi permettere di etichettare un numero sufficiente di dati) per formare un algoritmo di apprendimento con supervisione. 

Machine learning per rinforzo

Il machine learning per rinforzo è un modello di machine learning comportamentale simile all'apprendimento supervisionato, ma la formazione dell'algoritmo non viene eseguita utilizzando dati campione. Questo modello apprende le informazioni durante l'utilizzo, tramite prove ed errori. Una sequenza di risultati positivi verrà rinforzata per sviluppare il miglior suggerimento o politica per un determinato problema.

Il sistema IBM Watson® che ha vinto la sfida Jeopardy! nel 2011 ne costituisce un ottimo esempio. Il sistema ha utilizzato l'apprendimento per rinforzo per decidere se tentare una risposta (o domanda, a seconda dei casi), quale riquadro selezionare e quanto scommettere, specialmente sui raddoppi giornalieri.

Scopri di più sull'apprendimento per rinforzo.    

Deep learning

Il deep learning è un sottoinsieme di machine learning (tutto il deep learning è machine learning, ma non tutto il machine learning è deep learning). Gli algoritmi di deep learning definiscono una rete neurale artificiale progettata per imparare il modo in cui il cervello umano impara. I modelli di deep learning richiedono grandi quantità di dati che passano attraverso più livelli di calcolo, applicando pesi e distorsioni in ogni livello successivo per regolare continuamente e migliorare i risultati.

Generalmente, i modelli di deep learning sono non supervisionati o parzialmente supervisionati. I modelli di apprendimento per rinforzo possono anche essere modelli di deep learning. Alcuni tipi di modelli di deep learning - comprese le reti neurali convoluzionali (convolutional neural networks, CNN) e le reti neurali ricorrenti (recurrent neural networks, RNN) - stanno guidando il progresso in settori come i progressi in settori come la visione artificiale, l'elaborazione del linguaggio naturale (incluso il riconoscimento vocale) e le auto a guida autonoma. 

Esamina il post del blog "AI, Machine learning, Deep learning, Reti neurali: Qual è la Differenza?" per un'analisi più approfondita delle relazioni tra i diversi concetti.

Scopri di più sul deep learning.                                                               

Casi di utilizzo del machine learning nel mondo reale

Come indicato in precedenza, l'apprendimento automatico è ovunque. Ecco solo alcuni esempi di machine learning che potresti incontrare ogni giorno:

  • Assistenti digitali: Apple Siri, Amazon Alexa, Google Assistant e altri assistenti digitali sono basati sull'elaborazione del linguaggio naturale (natural language processing, NLP), un'applicazione di machine learning che consente ai computer di elaborare dati di testo e vocali e 'comprendere' il linguaggio umano allo stesso modo delle persone. L'elaborazione della lingua naturale gestisce anche applicazioni vocali come il software GPS e di riconoscimento vocale (speech-to-text).
  • Suggerimenti:  i modelli di deep learing gestiscono anche i suggerimenti 'alle persone è piaciuto anche' e 'Solo per te' offerti da Amazon, Netflix, Spotify e altri servizi di vendita al dettaglio, di intrattenimento, di viaggio, di ricerca di lavoro e di news.
  • Pubblicità online contestuale: i modelli di machine learning e deep learning sono in grado di valutare il contenuto di una pagina web - non solo l'argomento, ma anche le sfumature come l'opinione o l'atteggiamento dell'autore - e visualizzano annunci pubblicitari personalizzati in base agli interessi del visitatore.
  • Chatbot: i Chatbot possono utilizzare una combinazione di riconoscimento di modelli, elaborazione del linguaggio naturale e reti neurali profonde per interpretare il testo immesso e fornire risposte adeguate.
  • Rilevamento delle frodi: i modelli di classificazione e regressione del machine learning hanno sostituito i sistemi di rilevamento delle frodi basati su regole, che hanno un elevato numero di falsi positivi in caso di segnalazione di carte di credito rubate e raramente riescono a rilevare l'uso criminale di dati finanziari rubati o compromessi.
  • Sicurezza informatica: il machine learning è in grado di estrarre informazioni da report su incidenti, avvisi, post del blog e altro ancora per identificare potenziali minacce, fornire indicazioni agli analisti della sicurezza e accelerare la risposta.
  • Analisi delle immagini mediche: i tipi e il volume dei dati delle immagini mediche digitali sono aumentati enormemente, determinando un incremento della disponibilità delle informazioni per il supporto delle diagnosi ma anche maggiori opportunità di errore umano nella lettura dei dati. Le reti CNN, le reti RNN e altri modelli di deep learning si sono rivelati sempre più efficaci nell'estrazione di caratteristiche ed informazioni dalle immagini mediche per supportare diagnosi accurate.
  • Auto a guida autonoma: le auto a guida autonoma richiedono un grande sforzo di machine learning - devono identificare continuamente gli oggetti nell'ambiente circostante, prevedere come cambieranno o si muoveranno e guidare l'auto intorno agli oggetti oltre che verso la destinazione del conducente. Praticamente, ogni forma di algoritmo di machine learning e deep learning sopra indicato è coinvolto nell'abilitazione di un'automobile a guida autonoma.

Machine learning e IBM Cloud

IBM Watson Machine Learning supporta il ciclo di vita del machine learning end-to-end. È disponibile in una gamma di offerte che consentono di creare modelli di machine learning ovunque risiedano i tuoi dati e di distribuirli ovunque nel tuo ambiente multicloud ibrido. 

IBM Watson Machine Learning su IBM Cloud Pak for Data aiuta i team AI e di data science a velocizzare lo sviluppo e la distribuzione dell'AI ovunque, su una piattaforma di dati e AI nativi del cloud. IBM Watson Machine Learning Cloud, un servizio gestito nell'ambiente IBM Cloud, è il modo più veloce per spostare i modelli dalla sperimentazione sul desktop alla distribuzione per i carichi di lavoro di produzione. Per i team più piccoli che cercano di scalare distribuzioni di machine learning, IBM Watson Machine Learning Server offre un'installazione semplice su qualsiasi cloud privato o pubblico.

Per iniziare, registrati per un IBMid e crea il tuo account IBM Cloud.