Che l’AI sia sempre di più al centro dell’attenzione non sono certo il primo a dirlo. Che già oggi moltissimi compiti “umani” siano stati rimpiazzati (in meglio!) dalle Intelligenze Artificiali è di dominio pubblico. Che probabilmente in futuro la competizione tra il pensiero umano e quello di sintesi sarà bella tosta inizia ad essere un’intuizione di molti. Non vi sto dicendo nulla di nuovo.
Ma credo anche che dietro la sigla “AI” ci sia anche tanto misticismo e paura. Ci sono ciarlatani abili parolieri che sfruttano i trend del momento per far soldi e incetta di visibilità. Che ne dite invece di un bel “ritorno alle origini”, un viaggio diretto al centro delle cose più semplici dell’AI, laddove la sovrapposizione-conflitto con l’essere umano è totalmente lungi dal venire? Che ne dite se proviamo a scomporre questa parolina-parolona in pezzi piccoli piccoli e li osserviamo da vicino per capire di che diavolo stiamo parlando?
Ecco qui, se vi andrà di leggerlo, un primo articolo che spiega in modo facile e spero accessibile a tutti, cosa c’è dentro i più comuni ed utilizzati meccanismi dell’intelligenza artificiale.
Supervised Learning – Cos’è
E’ la tecnica (forse) più comune che si usa per far imparare qualcosa ad una macchina. Si prende un insieme di dati (come ad esempio delle fotografie) li si “annota”, cioè gli si appiccica un’etichetta (ad esempio “gatto”, “cane”, “giraffa”, “umano”) e li si da in pasto ad un calcolatore.
Costui, attraverso algoritmi realmente ben congegnati, costruisce una serie di formule matematiche che, con precisione sorprendente, gli consente di indovinare, data una foto nuova, mai vista prima, se stiamo parlando di gatto, di cane, di giraffa o di essere umano.
Regressione Lineare
Forse il problema più semplice, ma non meno interessante e utile, che possiamo pensare di risolvere tramite il Supervised Learning è quello di “indovinare” l’equazione che lega tra loro due parametri, X e Y.
Dove X potrebbe essere l’altezza di una persona e Y il suo peso. Oppure con X possiamo rappresentare la grandezza in metri quadri di un appartamento e con Y il suo valore di mercato.
In estrema sintesi, questo tipo di problemi (trova la relazione tra X e Y imparando da un insieme di punti che ti fornisco) può essere schematizzata come il compito di identificare due parametri $θ_{0}$ e $θ_{1}$, affinché la retta rappresentata dall’equazione $h_{θ}(x)=θ_{0}+θ_{1}x$ risulti MINIMA rispetto ad un criterio che vediamo tra un attimo.
In parole povere, stiamo cercando di calcolare i due coefficienti (intercetta $θ_{0}$ e coefficiente angolare $θ_{1}$ che meglio rappresentano l’insieme dei punti forniti come insieme di addestramento (ad esempio un elenco delle coppie, metri quadri/valore della casa).
Qualcosa che visivamente rappresenterei così:
Dove $θ_{0}$ è il punto dove la retta verde tocca l’asse “Valore”, e $θ_{1}$ è il coefficiente angolare (la pendenza) della retta.
Ovviamente, possono esserci infinite combinazioni d $θ{0}$ e $θ{1}$ che producono altrettante infinite rette. Alcune saranno ottime approssimazioni Training Set (o Learning Set) mentre altre lo rappresenteranno in modo pessimo.
Va quindi deciso un criterio di misurazione (detto anche metrica) che ci aiuti a chiarire perché l’intuizione ci dice che la retta verde rappresenta in modo “ottimo” i punti dati, mentre quella arancione lo fa in maniera decisamente peggiore.
Un buon criterio sul quale è facile andare d’accordo è quello della distanza. Intuitivamente, più la retta rappresenta bene i punti, più la distanza dei punti dalla retta è piccola. Viceversa, un’approssimazione di scarso valore (la retta arancione) risulterà in media sempre molto distante dai punti che dovrebbe rappresentare.
Se chiamiamo “costo” questa distanza, ecco che il nostro obiettivo è identificare i valori ideali di $θ{0}$ e $θ{1}$ tali che il costo sia zero o comunque il minimo valore possibile. Possiamo rappresentare convenzionalmente il costo funzione di $θ{0}$ e $θ{1}$ nel modo seguente:
$$J(θ{0},θ{1})$$Come posso calcolare questo costo? Una buona idea è considerare la somma delle distanze al quadrato tra i punti “noti” e quelli stimati dalla retta. Introducendo un po’ di notazione, ecco prendere forma la nostra formula:
$$J(θ_{0},θ_{1})=\frac{1}{2m} \sum_{i=1}^n (y_{i}{‘}-y_{i})^2$$Nulla che ci debba spaventare perché si tratta di un’operazione molto semplice. Per tutti i punti noti, calcolo la distanza dalla retta e elevo il tutto al quadrato. Sommo il tutto e divido per 2m (questo lo faccio per semplificarmi i calcoli, si vedrà meglio più avanti).
Il nostro algoritmo “intelligente”, come vedremo nei prossimi articoli, sarà capace di scegliere la retta migliore possibile perché individua i parametri $θ{0}$ e $θ{1} in modo che la funzione di costo θθJ(θ0,θ1) sia minima.
Curiosi di sapere come è in grado di effettuare questo calcolo?
foto di copertina di Alex Knight da Pexels