Machine Learning: quali tecnologie imparare?

Marco
chiede

Ultimamente sento sempre più spesso parlare di machine learning. Da quel che ho capito, sembra una competenza sempre più richiesta, ma vorrei capire se è effettivamente il caso di approfondirla. Se sì, che tipo di tecnologie possono essere utili? Cosa dovrei imparare e/o approfondire?

Vito Gentile
risponde

Il machine learning (spesso abbreviato in ML) è un’area di ricerca (già abbastanza consolidata) che raggruppa tutta una serie di algoritmi di statistica ed intelligenza artificiale mirati all’analisi dei dati ed al loro uso per “apprenderne” l’andamento o alcune caratteristiche da essi derivanti. La fase di apprendimento (training) può essere finalizzata ad effettuare previsioni piuttosto attendibili, o a classificare e raggruppare i dati in maniera automatica e il più possibile efficiente (clustering).

È assolutamente vero che l’interesse in questo campo è in crescita. Mentre fino a qualche anno fa i temi relativi al machine learning erano competenza esclusiva dei ricercatori, oggi sono utilizzati da diverse aziende, principalmente nel campo dell’analisi dei dati (ad esempio quelli derivati dai social network) e per la modellazione automatica di processi complessi.

Se ci si vuole avvicinare al machine learning, si possono iniziare a studiare alcuni linguaggi e framework molto comunemente usati in questo contesto, tra cui Python (di cui è disponibile una guida molto completa su HTML.it) ed R (di cui, nella guida di HTML.it, abbiamo affrontato anche alcuni temi relativi al machine learning). Ovviamente, questi linguaggi di programmazione non sono gli unici usati (ad esempio, su HTML.it abbiamo visto come usare Javascript e la libreria ml.js), e soprattutto non sono sufficienti a studiare in modo esaustivo il machine learning. Per comprendere tutti i principali algoritmi usati in questo contesto (qualineural networks, SVM, reti bayesiane, algoritmi di regressione, ecc…) esistono diversi testi di riferimento, anche piuttosto complessi, il cui studio richiede tempo e competenze matematico-statistiche di un certo livello.