Machine Learning, Data Mining, Intelligenza Artificiale: questi termini, ormai all’ordine del giorno, sembrano avere delle risonanze fantascientifiche. Cosa sono esattamente? Sono intercambiabili o si riferiscono a concetti diversi? Queste discipline si studiano ad Hogwarts o esistono nella vita reale?
L’alone di mistero e magia che aleggia intorno a questi concetti è sintomo del fascino che queste tematiche infondono nella società e del forte successo professionale degli esperti in questi settori, considerati alla stregua di maghi che impugnano le redini della tecnologia moderna. Non a caso, quello del Data Scientist è stato definito il mestiere più sexy del ventunesimo secolo.
L’alone di mistero e magia che aleggia intorno a questi concetti è sintomo del fascino che queste tematiche infondono nella società e del forte successo professionale degli esperti in questi settori, considerati alla stregua di maghi che impugnano le redini della tecnologia moderna. Non a caso, quello del Data Scientist è stato definito il mestiere più sexy del ventunesimo secolo.
Quali sono le ragioni di questo successo? Scopriamo insieme i punti salienti di questi concetti ed addentriamoci nell’analisi degli algoritmi principali che li caratterizzano.
Data Mining vs Machine Learning vs Intelligenza Artificiale
Per cogliere le differenze sostanziali tra queste aree, è utile partire da una rappresentazione visiva che permetta di comprendere il legame che sussiste tra queste tematiche.

- Intelligenza Artificiale
L’Intelligenza Artificiale indica la capacità di un sistema tecnologico di comportarsi come un umano, quindi si riferisce a tutte quelle macchine che sono considerate sistemi intelligenti in quanto dotate di capacità di apprendimento, ragionamento, decisione e di percezioni visive e spazio-temporali. È una vera e propria scienza che comprende aree di ricerca estremamente vaste, che si pongono l’obiettivo di cercare di sviluppare determinate caratteristiche del cervello e dell’attitudine umana.
Machine Learning
Una delle branche fondamentali dell’Intelligenza Artificiale è il Machine Learning, il settore di ricerca inerente all’apprendimento automatico delle macchine. Infatti, seppur spesso i due concetti vengano considerati uguali, di fatto il Machine Learning è soltanto un sottoinsieme – sicuramente uno dei più importanti – dell’esteso panorama dell’universo AI.
Cuore dello sviluppo dei sistemi intelligenti, l’apprendimento automatico è stato in grado di sradicare l’idea di programmazione tradizionale, dando origine ad algoritmi del tutto rivoluzionari. In genere, applicazioni e sistemi informatici svolgono i propri compiti grazie al duro lavoro di programmatori che traducono in linee di codice ogni possibile input e ogni ipotetico scenario di utilizzo: se l’utente compie un’azione che non era stata presa in considerazione nel momento dello sviluppo del programma, il sistema non è in grado di restituire un output. Nel caso degli algoritmi di Machine Learning, invece, l’idea è proprio quella di fornire al sistema gli strumenti adatti per sviluppare una conoscenza propria, in modo da renderlo capace di apprendere dei modelli e usare l’esperienza passata per prendere autonomamente decisioni in caso di situazioni impreviste.
A questo punto, una domanda potrebbe sorgere spontanea: come si può insegnare alle macchine ad imparare? La risposta risiede in una delle più importanti fonti di ricchezza, conoscenza e potere del ventunesimo secolo: i dati. Consideriamo un parallelismo con l’esperienza umana: per imparare qualcosa noi ci documentiamo, attiviamo tutti i nostri sensi e arricchiamo le nostre conoscenze osservando la realtà che ci circonda, leggendo o confrontandoci con altre persone. Allo stesso modo, i sistemi tecnologici necessitano di una mole di esempi – tabelle, dati testuali, multimediali – da cui poter estrarre delle regole che, una volta comprese, possono essere riutilizzate in presenza di input nuovi e sconosciuti.
Data Mining
L’analisi dei dati con l’obiettivo di estrapolare informazioni e conoscenze utili da essi è il nodo centrale del Data Mining, un campo caratterizzato dalla coesione di diverse discipline, quali statistica, data visualization e machine learning. Il suo scopo è quello di estrarre da grandi quantità di dati delle informazioni precedentemente sconosciute e dei pattern significativi che permettano di svolgere su di essi delle attività di predizione o descrizione.
Il confine tra Data Mining e Machine Learning è molto labile e talvolta impercettibile, a causa della sovrapposizione che spesso si crea tra queste due tecniche. Talvolta i dati elaborati tramite le tecniche di Data Mining vengono utilizzati come input per gli algoritmi di Machine Learning per scoprire le relazioni e i pattern esistenti tra i diversi elementi; in altri casi, il Machine Learning viene adottato dal Data Mining per estrarre informazioni dai dati in modo automatico.
Le differenze sostanziali tra i due processi risiedono nel loro scopo e nella necessità o meno di richiedere l’intervento umano per il loro funzionamento. Le tecniche di Data Mining, infatti, si prefiggono esclusivamente l’obiettivo di estrarre regole utili dai dati elaborati; gli algoritmi di Machine Learning, invece, usano i dati come punto di partenza per insegnare ad un sistema ad apprendere e ad usare l’esperienza per diventare intelligente. Inoltre, il campo del Data Mining si basa sull’interazione esterna degli umani che utilizzano gli algoritmi, creano dei modelli, tentano di migliorarli e interagiscono con il sistema; il fine ultimo del Machine Learning, invece, è quello di procedere autonomamente: l’intervento umano si limita al settaggio dei parametri iniziali dell’algoritmo, dopodiché il sistema si sviluppa, cresce, apprende e segue un flusso indefinito e spontaneo.
Tipi di apprendimento: supervised e unsupervised learning
A questo punto, dopo aver compreso i punti chiave di questi concetti, possiamo andare più a fondo nell’analisi degli algoritmi principali che li contraddistinguono.
Gli algoritmi di Machine Learning e Data Mining si dividono in due categorie fondamentali: supervised learning e unsupervised learning. Il primo si riferisce ad un tipo di apprendimento usato per risolvere problemi di predizione, mentre la tecnica dell’apprendimento non supervisionato è relativa a problemi di raggruppamento.
Supponiamo di voler affittare un appartamento su Airbnb e di essere interessati a trovare un algoritmo che, sulla base di un insieme di parametri iniziali, riesca a predire un prezzo adeguato per la nostra casa. Per fare ciò, abbiamo bisogno di un dataset che raccolga le informazioni inerenti ad appartamenti già esistenti e classificati: per ognuno di essi si registrano parametri utili quali posizione, dimensione, numero di stanze o tipo di appartamento e si fissa come etichetta il prezzo stabilito. A questo punto il nostro algoritmo potrà iniziare una fase di training, con l’obiettivo di analizzare il dataset di ingresso per estrapolare relazioni e formule matematiche. Infine, grazie alle conoscenze acquisite tramite l’apprendimento, sarà in grado di predire il valore dell’etichetta – quindi, in questo caso, del prezzo – per ogni nuovo dato sconosciuto.
In alternativa, si può pensare al filtro anti-spam o alle etichette utilizzate nella casella di posta per catalogare determinate mail. Anche in questo caso, vengono usati degli algoritmi di classificazione che imparano a riconoscere delle caratteristiche peculiari per ogni tipo di categoria e sono in grado di decidere in che modo smistare le nuove mail.
Quando il valore da predire è continuo, come nel primo esempio, allora si parla di algoritmi di regressione; al contrario, se l’output è un valore discreto, si ha a che fare con algoritmi di classificazione.
Per quanto riguarda i problemi di apprendimento non supervisionato, la differenza fondamentale rispetto al caso precedente è che non si ha a disposizione un dataset di partenza con i dati già etichettati da cui estrapolare un modello. Per questo motivo, l’obiettivo è di estrarre delle relazioni che permettano di identificare dati omogenei tra loro. L’ambito di applicazione più esteso è il clustering, che consiste nel raggruppamento dei dati in insiemi, detti cluster, di oggetti simili. Ad esempio, questo tipo di tecnica è molto diffusa nel marketing per caratterizzare gruppi di consumatori e identificare i vari tipi di target a cui mirare le campagne pubblicitarie.
Uno sguardo al futuro
L’Intelligenza Artificiale è un campo in continuo sviluppo che solo di recente è riuscito a rivendicare un’importanza concreta al di fuori degli ambienti di ricerca. Nell’ultimo periodo, il Machine Learning si è fuso con il settore sempre più affermato dell’Internet of Things divenendo rilevante per aziende e consumatori. L’idea di vivere in una casa smart ed essere circondati da dispositivi intelligenti diventa sempre più allettante e prerogativa di tutti. D’altro canto, i temi di privacy e cyber security iniziano a sorgere con allarmismo, oltre al timore comune che molte figure lavorative vengano soppiantate dai robot.
A questo proposito, è proprio il capo di Google Ray Kurzweil che stronca ogni paura dicendo:
“I robot ruberanno i nostri lavori in futuro? Probabilmente sì, ma non è un gran problema: ne inventeremo di nuovi.”
Sicuramente l’importanza di queste tematiche non si fermerà qui: ne sentiremo parlare ancora per anni, ne saremo sempre più affascinati e inizieremo ad abituarci ai cambiamenti che si presenteranno nella quotidianità. Ma non abbiate paura, abbandonate le previsioni apocalittiche e considerate questi strumenti per ciò che effettivamente sono: mezzi per sviluppare la nostra società e vivere nel migliore dei modi possibili.