Che tu sia uno startupper di grido, un ricercatore internazionale o uno smanettone da scantinato ricoperto di popcorn, se sai scrivere codice ti sarà capitato di sentire parlare di machine learning.
Seguendo i temi emergenti nel mondo della tecnologia è facile ritrovarsi sommersi di notizie e dibattiti pseudo-scientifici ad alto impatto emotivo, senza che nessuno dica di cosa effettivamente si tratti.
Dopo aver visto cosa è il machine learning in modo informale e dopo aver approfondito i concetti di base, vediamo che matematica bisogna studiare per addentrarsi nella nobile arte di sussurrare alle macchine.
- Algebra lineare: studia gli spazi a tante dimensioni e una varietà di concetti che li riguardano: punti (aka vettori), rette, piani, iperpiani, matrici, tensori. Come spunto, immagina che ogni record del dataset di addestramento è un punto in questo spazio (dove ogni feature è descritta su una dimensione). Questo è il famoso feature space o spazio degli input.
Il modello di machine learning non fa altro che spostare questi punti, circoscriverli, separarli. Le macchine pensano in spazi vettoriali, e da un certo punto di vista anche gli esseri umani. E anche i cyloni. - Calcolo infinitesimale: c’è un altro spazio a tante dimensioni che caratterizza il machine learning, ed è lo spazio dei parametri. In questo caso le dimensioni non sono le feature di input ma sono i parametri/pesi del modello, ossia quei numeri che andiamo ad aggiustare progressivamente per far apprendere la macchina, come si fa con le corde di una chitarra. In questo spazio dei parametri è descritta la superficie dell’errore, che descrive per ogni combinazione dei parametri quanto la macchina sbaglia.
Per apprendere dobbiamo scendere nel punto più basso di questa superificie, seguendone la pendenza come se fossimo su uno slittino. Il calcolo infinitesimale è quella parte di matematica che ci fa da slittino. - Probabilità: una macchina deve saper cogliere le sfumature, non essere mai completamente certa delle conclusioni a cui giunge e in ogni caso dare una misura di quanto è sicura. La probabilità ci aiuta a trattare l’incertezza, e trasformarla da un punto di debolezza a un punto di forza. La teoria dell’informazione, che ci aiuta a comprendere ancora meglio la comunicazione tra sistemi complessi, è costruita sulla teoria della probabilità.
- Teoria dei grafi: tutto è connesso, in una rete di entità e relazioni che dobbiamo saper navigare senza paura di perderci. Il web è una rete di documenti linkati tra di loro e con un pochino di immaginazione può essere visto come la base di conoscenza di una macchina onniscente.
La teoria dei grafi ci da gli strumenti matematici per trattare le reti: web, sociali, neurali, metaboliche, stradali, qualsiasi tipo di rete.
A differenza di quanto i puristi del settore vorrebbero far credere, comprendere tutta la matematica che c’è dietro non è essenziale. Non serve conoscere le leggi della termodinamica per riscaldare il pollo al microonde. Conoscere i retroscena è per chi ci lavora tutti i giorni.
Da utilizzatori occasionali di machine learning e in particolare come sviluppatori tenuti a saper integrare machine learning in un’applicazione, serve conoscere la metodologia generale e le api delle principali librerie e servizi web. Chi vuole addentrarsi è ovviamente benvenuto: può iniziare da un’intuizione visiva di come funzionano gli algoritmi e approfondire un pochino per volta, studiando la matematica essenziale senza farsi spaventare.
P.S.: segui il Pollo Watzlawick su Youtube!