in

Alle basi dell’AI – Supervised Learning spiegato facile

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

Cosa ne pensi?

Scritto da Emanuele Donati

I'm a charismatic leader, highly experienced and able to ensure success of the most challenging and ambitious projects. My deep competence in ICT's activities and years of experience in marketing, communication and production, together with business administration wide understanding allow me to operate and succeed in all layers of the company's strategic goals.

I'm continuously searching for original and challenging growing paths to verify and increase my managerial skills. Ranging from defence to telecommunications, entertainment to pharmaceuticals industry, I’ve been able to enrich my managerial background with both start-up and business expansion activities.

Strengths: Creativity, problem solving and design skills, high-technological background, strong managerial capabilities in difficult situations, group development, company mission and vision evangelist, deep comprehension of corporate governance

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Le 5 forze competitive di Porter

Dammi un minimo e ti predirò il futuro – Supervised Learning spiegato facile parte 2