Cos’è il Machine Learning?

Cos'è? - Miniatura della rubrica di marcogarosi.it

Di recente hai sentito parlare di Machine Learning (ML) e di Intelligenza Artificiale (IA) ma non hai ancora capito di cosa si tratti e a cosa servano? Non devi preoccuparti: nelle prossime righe ti spiegherò cos’è il Machine Learning, come funziona e perché è usato.

Il Machine Learning è, sostanzialmente, una via di apprendimento automatico applicata al mondo dell’informatica. Il cosiddetto ML, infatti, nasce come una branca dell’intelligenza artificiale con lo scopo di analizzare grandi quantità di dati.

Cos’è l’apprendimento automatico?

Forse potrebbe sembrarti strano sentir dire che un computer è in grado di apprendere autonomamente. E, infatti, non è realmente così. I dispositivi tecnologici odierni non sono in grado di imparare realmente in modo autonomo – non come potresti immaginare, almeno.

Il Machine Learning, tuttavia, si propone come un tassello fondamentale per raggiungere quest’obiettivo. Ciononostante, affonda le sue radici in algoritmi ben definiti e ideati da scienziati e informatici; insomma, non si è “creato da sé”.

Questo non significa, però, che – una volta preparato – non possa migliorare costantemente le proprie performance. E, infatti, è proprio così: ecco perché è chiamato apprendimento automatico.

In altri termini, partendo da un software predefinito, il computer si “allena” per diventare sempre più “bravo” a riconoscere delle caratteristiche in comune tra gli insiemi di dati sui quali sta operando: più semplicemente, va alla ricerca di un pattern.

A cosa serve il Machine Learning?

È un’ottima domanda. D’altronde, perché mai dovresti voler fare in modo che una macchina possa imparare autonomamente?

Ebbene, la risposta è – almeno in certi casi – più semplice di quanto tu possa immaginare. Pensa, ad esempio, ad un sistema in grado di catalogare le email in arrivo su un server di posta elettronica (magari PEC): descrivere perfettamente un algoritmo in grado di discernere tra messaggi reali (accettabili) e spam è pressoché impossibile; per essere preciso al 100%, infatti, richiederebbe un ingente quantitativo di risorse hardware.

Al contrario, applicando il Machine Learning, il software può migliorare le proprie prestazioni nel tempo. Dopo un iniziale fase di allenamento, durante la quale gli vengono sottoposti dei dataset già etichettati, può avere inizio il suo utilizzo sul campo.

I primi tempi è particolarmente impreciso, poiché ha poche informazioni passate su cui basarsi: non ha “memoria”. Tuttavia, ogni volta che gli viene notificato un errore – da parte di un umano o di un altro sistema complementare -, impara qualcosa di nuovo.

Nel tempo, dopo un miglioramento che dura per buona parte – se non tutta – la sua esistenza, raggiunge livelli di accuratezza pressoché paragonabili a quelli di un algoritmo scritto ad hoc – ma che richiederebbe anni di lavoro per essere realizzato e altrettanto tempo per diventare così affidabile.

Esistono più tipi di Machine Learning?

Certamente! Il Machine Learning è, come ti stavo dicendo, una branca dell’intelligenza artificiale, ma non definisce un’unica tipologia di addestramento. Al contrario, l’ampiezza degli algoritmi e delle tecniche impiegate è quasi disarmante.

Un programma di apprendimento automatico può essere di numerose tipologie:

  • Apprendimento supervisionato (Supervised Learning): il software riceve in input sia dei set di dati sia l’output desiderato; è il programma stesso che deve identificare i nessi logici tra le informazioni a sua disposizione;
  • Apprendimento non supervisionato (Unsupervised Learning): al software vengono dati soltanto i dataset, senza alcuna specifica del risultato atteso;
  • Apprendimento semi-supervisionato: è un mix tra le due precedenti tipologie. Il software, infatti, ha a disposizione una determinata quantità di dati, ma solo di alcuni conosce il risultato a cui dovrebbe arrivare; dopo essersi allenato, può quindi testare le sue conoscenze con i dati di cui non conosce l’output atteso;
  • Apprendimento per rinforzo: proprio come fosse un adorabile cucciolo, il software – partendo da un dataset – deve raggiungere un obiettivo e, ogni volta che ci riesce, riceve una ricompensa.

Gli studi probabilistici

Il Machine Learning, come forse hai già capito, è una disciplina estremamente ampia e variegata. L’apprendimento automatico, comunque, è profondamente legato alla matematica e si appoggia, in larghissima parte, sugli studi probabilistici.

Il calcolo delle probabilità e altri calcoli e teorie più complessi entrano in gioco in ogni applicazione reale del Machine Learning: come ti ho detto poco fa, un computer non può generare conoscenza in modo completamente autonomo. Ha bisogno di una solida base da cui poter partire.