4 algoritmi di Intelligenza Artificiale per il 2022
Prima di parlare di algoritmi di Intelligenza Artificiale, facciamo un passo indietro.
Siamo arrivati a dicembre, e che cosa significa?
Significa che il mondo dell’Intelligenza Artificiale comincia a tirare le somme.
Si guarda a tutto ciò che è successo nel 2021, ipotizzando quali potrebbero essere i nuovi trend per il 2022.
Certo, ne abbiamo già parlato in una puntata di settembre…
Ma è solo verso dicembre che le testate giornalistiche iniziano ad interessarsi di più all’argomento.
(Forse anche per l’interesse che il governo italiano stesso sta veicolando nei confronti dell’Intelligenza Artificiale, ma è un’altra questione).
E visto che abbiamo già parlato degli eventuali trend del futuro, la puntata #86 abbiamo voluto dedicarla ad un aspetto un po’ più tecnico del solito…
Ma allo stesso modo daremo una visione pratica di 4 nuovi algoritmi che saranno di una certa importanza nel 2022…
E che in realtà tutti quanti hanno un filo conduttore molto importante se ti stai approcciando all’Intelligenza Artificiale.
Il risparmio, sia in termini di dati che di energia computazionale.
Vediamoli subito.
1. Algoritmi di Ensemble Learning (o di «apprendimento ensemble»)
Per spiegare che cosa sono gli algoritmi di ensemble learning, di solito si usa un esempio molto semplice.
Prova ad immaginare una gara di matematica dove ci sono due squadre…
E immagina che una squadra sia formata da un matematico, mentre l’altra squadra da dieci matematici.
Secondo te, chi è che ha la possibilità maggiore di vincere?
Per quanto sia bravo il matematico singolo, molto probabilmente vincerà la squadra che ne ha dieci.
I membri della seconda squadra hanno la possibilità di confrontarsi tra di loro per massimizzare la probabilità di ottenere un risultato corretto, cosa che il matematico singolo non ha.
Gli algoritmi di ensemble learning funzionano sostanzialmente allo stesso modo.
Infatti, l’ensemble learning è una tecnica di machine learning basata sulla costruzione di più ipotesi.
Per formulare una previsione, la macchina non utilizza una sola ipotesi, ma molte.
Volendo fare un esempio pratico di come funziona il processo di ensemble learning, questo si divide in due fasi.
In una prima fase la macchina utilizza un insieme di dati per l’addestramento, e a partire da questo insieme di dati costruisce un albero decisionale.
Nel caso dell’ensemble learning, la macchina elabora diversi alberi decisionali diversi fra loro.
A parità di condizioni è probabile che ciascun albero fornisca una risposta differente per risolvere problemi pratici.
A questo punto la macchina consulta l’output di tutti gli alberi decisionali, dello spazio e delle ipotesi che ha costruito.
La macchina andrà a scegliere la risposta fornita con più frequenza dagli alberi decisionali.
Questo tipo di algoritmi di Intelligenza Artificiale sono presenti da un po’ in letteratura e ne sentiremo parlare sempre di più.
Questo perché, come abbiamo detto tante volte, ad oggi abbiamo una sempre crescente disponibilità di hardware computazionale che ci permette di elaborare algoritmi di Intelligenza Artificiale più complessi con un maggior numero di dati…
E in questo caso possiamo anche mettere insieme più algoritmi di Intelligenza Artificiale per elaborare un output che viene da una combinazione di algoritmi.
Questo tipo di algoritmi di Intelligenza Artificiale viene utilizzato tipicamente per attività di classificazione, quindi quando c’è bisogno di identificare a quale classe appartengono i dati di input e sono tecniche tipicamente impiegate nell’apprendimento supervisionato, quindi si sa qual è il target da ottenere.
2. Algoritmi Esplicativi (o «explanatory algorithms»)
Qui torniamo su un argomento di cui abbiamo già parlato diverse volte: la differenza fra white-box e black-box.
All’interno dello sviluppo dei modelli di Intelligenza Artificiale abbiamo diversi algoritmi per la computer vision, natural language processing, analisi predittiva e così via.
E questi modelli possiamo suddividerli in white-box e black-box.
Spieghiamo brevemente di che cosa stiamo parlando…
Nel momento in cui si sviluppa un modello, il ragionamento con cui quest’ultimo impara dal dataset, può risultare “oscuro” oppure “chiaro”.
Se il modello funziona, dà i risultati previsti ad un certo grado di efficienza, ma è difficile spiegare come sia arrivato a quel risultato, allora si dice «black-box».
E si possono solo fare solo ipotesi sul processo e in base alla documentazione.
Nei modelli sviluppati con tecnologia white-box è possibile trovare e ripercorrere i passaggi logici che hanno portato all’output del modello.
Sono due modelli diversi, due metodologie diverse e non sempre sono intercambiabili, perché ci sono delle situazioni in cui è richiesto un modello rispetto all’altro.
E gli ultimi eventi, in special modo l’arrivo degli “explanatory algorithms”, stanno mettendo in evidenza il bisogno di white-box, sia per una questione legislativa sia per comprendere quale ragionamento ha fatto il modello, dando un valore aggiunto a ciò che l’Intelligenza Artificiale ha trovato sui dati.
Normalmente la preferenza è infatti sui modelli in white-box, mentre le black-box vengono usate solo quando non sono sostituibili.
3. Algoritmi di clustering
Prima di tutto, definiamo che cos’è un cluster.
Il termine cluster viene utilizzato in diversi ambiti, come l’economia, la fisica o la biologia.
Nel mondo dell’Intelligenza Artificiale lo definiamo come una serie di elementi omogenei.
Quando si parla di algoritmi di clustering, si fa riferimento a tutti quegli algoritmi che permettono di partire da un insieme di dati – anche molto grande – per estrapolare i gruppi di elementi più simili.
In buona sostanza, l’algoritmo riconosce le relazioni fra i dati e crea gruppi con dati simili fra loro.
La particolarità di questo tipo di algoritmi è che sono algoritmi non supervisionati.
Quindi, a differenza degli algoritmi supervisionati, dove è necessario un feedback da parte dell’essere umano, l’apprendimento avviene in automatico.
Ora, dove si possono applicare queste tipologie di algoritmi di clustering?
Lo possiamo applicare in tutti quegli ambiti dove ci sono dati multidimensionali, non omogenei, e c’è necessità di trovare gruppi di dati simili.
In ambito industriale si usano per identificare, ad esempio, le correlazioni fra gli eventi all’interno di centinaia e centinaia di parametri diversi.
I risultati possono essere utilizzati anche in una seconda fase, per un altro algoritmo supervisionato che genera un modello per automatizzare il sistema di analisi e predizione dei guasti.
Per fare un esempio semplice, possiamo citare un prodotto che abbiamo realizzato noi, Tailored.CX.
È un prodotto che utilizziamo noi in ambito marketing per identificare i gruppi di utenti simili.
Se sei un imprenditore e ti occupi di marketing, sai benissimo che bisogna adottare un linguaggio in linea rispetto ai propri buyer personas che continuano a cambiare sempre più velocemente, così come i loro hobby e le loro modalità d’acquisto.
Pertanto è necessario valutare quali sono i profili che con la maggior probabilità acquistano i nostri prodotti e servizi secondo ciò che avviene sul nostro sito.
Attraverso il machine learning possiamo attuare una sorta di reverse engineering, partendo dalla raccolta dei comportamenti dell’utente.
Tailored.CX è un componente che può essere installato su qualsiasi sito Web, che rimane in ascolto e monitora le operazioni che fa l’utente: le immagini che osserva, le sezioni dove si ferma a leggere, e così via…
4. Algoritmi di riduzione della dimensionalità (o «dimensionary reduction algorithms»)
Andiamo subito al punto con questi…
Sono algoritmi e tecniche che permettono di ridurre il numero di variabili in input di un dataset mettendo in evidenza le variabili con maggior peso al suo interno.
La riduzione della dimensionalità è utile per ridurre il problema quando si tratta di creazione del modello partendo da un dataset.
Troppi dati rischiano di mandare in overfitting il modello (per esempio diventa bravo a riconoscere solo un tipo di difetto in un prodotto) o creare dei disturbi all’individuazione dei pattern durante il processo di training.
Semplificando: se facciamo un paragone fra una linea retta e un cubo tridimensionale, questi rappresentano due diverse quantità di dati – una più ridotta, un’altra più importante.
Per fare un esempio, il PCA (Principal Component Analysis) è uno degli algoritmi di riduzione della dimensionalità che viene usato in fase di studio del dataset per mettere in evidenza quali colonne di un database hanno più peso sull’output – se parliamo di colonne di un database.
Lo abbiamo usato noi stessi per raccogliere dati dalle macchine e costruire algoritmi di manutenzione predittiva, con sensori che danno più peso all’informazione iniziale di output rispetto ad altri.