Che cos’è il Machine Learning?

A cura di Marco Federico – Data Scientist

 

Come dice la parola stessa, con Machine Learning si fa riferimento allo sviluppo di modelli in cui le macchine apprendono dai dati e sono in grado di migliorare le proprie performance.  

Sin dall’introduzione dei computer, si è infatti cercato di acquisire conoscenza tramite il loro utilizzo. Questo aspetto diventa cruciale a causa della complessità dei modelli che devono essere rilevati. Grazie alle macchine, è infatti possibile superare diversi limiti in passato insormontabili. I computer sono strumenti molto potenti e flessibili, e tramite il machine learning è avvenuta una rivoluzione nell’interazione uomo-macchina, tale da trasformare gli strumenti elettronici in estensioni cognitivo che stanno cambiando il modo in cui interagiamo con molte situazioni di tutti i giorni. Alcuni esempi sono dati dagli algoritmi che si occupano di filtrare le mail di spam, oppure di elaborare il linguaggio naturale. Si parla in questo caso di sistemi adattivi, in cui la struttura non ha più una forma statica: si verificano, infatti, adattamenti a stimoli esterni, come ad esempio nuovi dati suggeriti in input. In output, si ottengono predizioni sul futuro partendo, chiaramente, da un certo grado di incertezza. 

L’aspetto adattivo ha un ruolo molto importante, e si collega all’importanza dell’apprendimento. In generale, questo si può considerare come l’abilità a cambiare seguendo stimoli esterni e ricordando la maggior parte delle esperienze passate. Tale “abilità” si riscontra facilmente in esseri viventi, come animali ed esseri umani, mentre esistono diversi macchinari che obbediscono sempre alle stesse leggi. Questo rende il loro impiego, nella pratica, abbastanza ristretto, in quanto peccano dell’adattabilità fondamentale per poter svolgere adeguatamente un insieme molto ampio di compiti. Viviamo in un mondo caratterizzato da un elevato grado di mutabilità, ed è quindi altamente rilevante essere in grado di cambiare in seguito a variazioni delle condizioni esterne. Da qui ne deriva uno degli obiettivi principali del machine learning, ovvero di utilizzare algoritmi di apprendimento automatico sfruttando metodi matematico-computazionali per ottenere informazioni di apprendimento direttamente dai dati. È in seguito richiesto ottenere, come già citato in precedenza, delle predizioni che si basano sull’informazione incompleta a disposizione. L’approccio è di tipo statistico: la predizione ottenuta è quella caratterizzata dal minor grado di incertezza, sulla base dell’insieme informativo a disposizione. 

Qualche esempio di modelli di machine learning comprendono: 

  • Regressione lineare: Questo algoritmo si occupa di cercare una relazione di tipo lineare tra i dati in input e una variabile di output, in modo tale da effettuare previsioni su nuovi dati. Nonostante la sua semplicità, può essere un buon punto di partenza per ottenere informazioni sulla relazione tra le variabili in esame. 
  • Alberi decisionali: Gli alberi decisionali utilizzano una struttura ad albero per suddividere i dati in input sulla base del valore assunto da qualche variabile e inserirli così all’interno di categorie. Tale classificazione è usata, ad esempio, nel rilevamento delle frodi nelle transazioni finanziarie o nella diagnosi medica. La struttura ad albero permette di visualizzare in maniera chiara il percorso che porta alla classificazione di ciascun dato. 
  • Reti neurali: Le reti neurali sono modelli di machine learning ispirati al funzionamento del cervello umano. L’elemento base è infatti costituito dai neuroni, i quali sono collegati tra di loro in diversi strati fino a giungere ad uno o più neuroni di output. Le applicazioni sono molteplici, come il riconoscimento delle immagini e del linguaggio naturale. In particolare, le reti neurali convoluzionali (CNN) sono state sviluppate specificamente per l’elaborazione di immagini. Questi modelli sono in grado di estrarre automaticamente le caratteristiche salienti dalle immagini e di utilizzarle per la classificazione, la segmentazione o altre attività relative all’elaborazione delle immagini. 
  • K-means: K-means è il più diffuso algoritmo di clustering, che si occupa di suddividere un insieme di dati in input in k cluster (ovvero gruppi), in modo tale che le unità che fanno parte di un gruppo siano il più possibile simili tra di loro e, allo stesso modo, i gruppi stessi siano più separati possibili. È spesso utilizzato per la segmentazione di clienti o di mercati. 
  • Reti neurali convoluzionali (CNN): Le reti neurali convoluzionali sono specificamente progettate per l’elaborazione delle immagini e sono ampiamente utilizzate nel campo della visione artificiale. Possono riconoscere e classificare oggetti, rilevare caratteristiche specifiche nelle immagini e persino generare nuove immagini.