Tipologie e Algoritmi di Machine Learning
Il Machine Learning è la tecnologia abilitante che permette di interagire con chatbot conversazionali, generare testi di qualità, tradurre in tempo reale attraverso applicazioni e ricevere suggerimenti personalizzati, come la prossima serie TV da guardare su Netflix o la prossima canzone da ascoltare su Spotify. Quando le aziende implementano soluzioni di Intelligenza Artificiale, è altamente probabile che stiano sfruttando in qualche modo algoritmi di Machine Learning: i due termini vengono spesso utilizzati in modo intercambiabile, pur denotando concetti distinti. In realtà, il Machine Learning rappresenta un sottoinsieme dell’Intelligenza Artificiale, che consente ai computer di apprendere e migliorare autonomamente, senza essere esplicitamente programmati per ogni compito.
Dall’industria manifatturiera al settore bancario, fino all’ambito sanitario, numerose realtà stanno sfruttando le potenzialità del Machine Learning per sbloccare nuovo valore, incrementare l’efficienza operativa e ottimizzare i processi decisionali. Anche se non tutti i professionisti e gli stakeholder aziendali possono conoscere i dettagli tecnici del machine learning, è fondamentale comprendere che cosa può e non può fare questa tecnologia. Questa consapevolezza è necessaria per sfruttare al meglio le potenzialità del machine learning e migliorare le condizioni operative e strategiche delle aziende.
> Scopri il catalogo dei corsi di Intelligenza Artificiale e Machine Learning
Breve storia del Machine Learning
Le origini del machine learning risalgono agli albori dell’informatica negli anni ’50, quando Alan Turing propose il celebre “test di Turing” come criterio per valutare l’intelligenza di una macchina basandosi sulla sua capacità di imitare conversazioni umane. Questo concetto gettò le basi per lo sviluppo dell’intelligenza artificiale e del machine learning.
Uno dei primi esempi concreti fu il programma di Arthur Samuel per giocare a scacchi nel 1952. Questo sistema impiegava un approccio di “auto-apprendimento per rinforzo”, giocando innumerevoli partite contro se stesso e perfezionando le strategie attraverso tentativi ed errori. Un altro passo importante fu l’introduzione del perceptron di Frank Rosenblatt nel 1958, uno dei primi modelli di rete neurale artificiale ispirato al funzionamento dei neuroni biologici.
Nonostante questi primi successi, il campo del machine learning, e dell’Intelligenza Artificiale per estensione, dovettero affrontare un prolungato periodo di stasi noto come l’“inverno dell’intelligenza artificiale”, durante il quale le eccessive aspettative messe a confronto con le limitazioni tecnologiche del tempo rallentarono il progresso.
La svolta arrivò con la riscoperta dell’algoritmo di backpropagation, che permise di addestrare efficacemente reti neurali multi-strato, aprendo le porte allo sviluppo delle attuali reti neurali profonde e all’esplosione del deep learning negli anni 2000. La fine del ventesimo è considerato come un periodo di svolta: l’aumento della potenza computazionale disponibile e la maggiore disponibilità di hardware più potenti, hanno permesso lo sviluppo di tecniche di elaborazione più efficienti.
> Leggi anche: “Reti Neurali: una guida introduttiva”
In questa fase, i ricercatori hanno potuto sperimentare con dataset più ampi e modelli più complessi. Le piattaforme cloud hanno aperto l’accesso a grandi risorse computazionali, consentendo a individui e aziende di sfruttarle per progetti di Machine Learning. Con il passare degli anni, lo sviluppo di architetture hardware specializzate ha continuato ad accelerare l’impatto del potere computazionale, permettendo l’esplorazione di algoritmi sempre più sofisticati, la gestione di dataset sempre più grandi e il rilascio di applicazioni real-time.
Le Tipologie di Machine Learning
Le tecniche di Machine Learning possono essere suddivise in diverse categorie in base al tipo di approccio utilizzato per l’addestramento dei modelli. Le principali sono l’apprendimento supervisionato, non supervisionato, semi-supervisionato e per rinforzo.
- Apprendimento supervisionato.
L’apprendimento supervisionato utilizza dati etichettati per addestrare algoritmi in grado di classificare dati o fare previsioni con precisione. In questo approccio, i modelli vengono addestrati su un dataset in cui ogni input è associato al corretto output. Questo metodo richiede tipicamente l’intervento umano per fornire all’algoritmo i dati etichettati. Pensiamo, ad esempio, ad un insegnante che fornisce esempi di esercizi di matematica insieme alle risposte corrette. I dati di input sono i problemi di matematica, e gli output sono le risposte corrette. Utilizzando questi dati, il modello di machine learning viene addestrato a fare previsioni corrette su nuovi dati. Gli algoritmi di apprendimento supervisionato vengono utilizzati per il riconoscimento di immagini e oggetti, l’analytics predittiva, l’analisi del sentiment dei clienti e il rilevamento della posta indesiderata. - Apprendimento non supervisionato.
L’apprendimento non supervisionato utilizza dati non etichettati per addestrare algoritmi che identificano pattern significativi tra i dati. In questo caso, il modello di machine learning non riceve suggerimenti su come classificare i dati, ma deve dedurre autonomamente le proprie regole e per raggruppare o clusterizzare i dati in base alle loro caratteristiche intrinseche.. Il termine “non supervisionato” indica che questo processo non richiede l’intervento umano. Ad esempio, un modello può ricevere un vasto insieme di dati sui clienti di un negozio, inclusi gli acquisti e la frequenza, e identificare gruppi di clienti con comportamenti di acquisto simili. Applicazioni comuni dell’apprendimento non supervisionato includono la visione artificiale, il rilevamento di patogeni nelle immagini mediche, l’individuazione di anomalie nei prodotti e i sistemi di raccomandazione nell’e-commerce. - Apprendimento semi supervisionato.
L’apprendimento semi supervisionato combina elementi dell’apprendimento supervisionato e non supervisionato. Utilizza una piccola parte di dati etichettati e una grande quantità di dati non etichettati per addestrare un modello. L’obiettivo è imparare funzioni che possono fare previsioni accurate sulla variabile di output basandosi sugli input, similmente all’apprendimento supervisionato. La differenza principale è che l’algoritmo viene addestrato utilizzando sia dati etichettati sia dati non etichettati. Questo metodo è particolarmente utile quando c’è grande disponibilità di dati non etichettati, ma etichettarli tutti sarebbe troppo costoso o complesso. Per riprendere l’esempio dell’insegnante, possiamo pensare all’apprendimento semi supervisionato come un compito a casa che include sia esercizi svolti in classe che nuovi problemi da risolvere autonomamente. - Apprendimento per rinforzo.
Nell’apprendimento per rinforzo, un agente, solitamente un computer, impara a svolgere un’attività attraverso ripetute interazioni di tipo “trial-and-error” all’interno di un ambiente dinamico. L’ambiente risponde fornendo una ricompensa o una penalità in base all’accuratezza dell’attività. L’obiettivo dell’agente è ottenere più ricompense possibili. Immagina ad esempio un robot che impara a camminare. Ogni volta che il robot fa un passo avanti senza cadere, riceve una ricompensa positiva. Se cade, riceve una penalità. Il robot impara quindi quale combinazione di movimenti lo aiuta a progredire senza cadere, cercando di massimizzare le ricompense totali nel lungo termine. L’apprendimento per rinforzo trova applicazioni in vari settori, come la valutazione del valore economico degli annunci di marketing, la robotica e l’automazione industriale.
Che cosa può fare il Machine Learning?
Gli algoritmi di machine learning possono rispondere a domande troppo complesse per l’analisi manuale. Esistono diverse tipologie di algoritmi di Machine Learning, solitamente riconducibili alle seguenti categorie:
- Classificazione. Gli algoritmi di classificazione utilizzano l’apprendimento supervisionato per assegnare i dati a categorie predefinite. L’output di un algoritmo di classificazione è una variabile categorica o discreta che rappresenta la classe o l’etichetta assegnata all’istanza di input. Spesso viene fornita anche una stima della probabilità o del punteggio di appartenenza alle diverse classi. Tra gli algoritmi di classificazione più utilizzati troviamo il Naive Bayes, il Decision Tree e il K-Nearest Neighbors. Questi algoritmi sono utilizzati in applicazioni come il riconoscimento di immagini, l’analisi del sentiment e il filtraggio della posta indesiderata
- Trovare anomalie e punti insoliti. Gli algoritmi di anomaly detection più conosciuti sono Isolation Forest e One-Class SVM. L’idea principale dietro questi algoritmi è quella di modellare i dati “normali” e quindi identificare come anomali i punti dati che si discostano significativamente dal comportamento normale. Il rilevamento di anomalie ha applicazioni in vari settori come il rilevamento di transazioni illecite, la manutenzione predittiva, il monitoraggio della sicurezza informatica e altro ancora.
- Stima dei valori. Gli algoritmi di regressione utilizzano l’apprendimento supervisionato per prevedere il valore di nuovi punti dati in base ai dati cronologici. Tra gli algoritmi di regressione più utilizzati troviamo la Regressione Lineare e Random Forest, che costruisce un modello di regressione combinando le previsioni di molteplici alberi decisionali. Questi algoritmi sono utilizzati in applicazioni come la previsione dei prezzi immobiliari, l’analisi del rischio finanziario e la stima della domanda di prodotti.
- Verificare il cambiamento dei valori nel tempo. Gli algoritmi di time series analizzano il cambiamento di un valore nel tempo, aiutando a identificare tendenze, stagionalità e altre variazioni temporali. Possono utilizzare sia l’apprendimento supervisionato che non supervisionato, a seconda dell’approccio e della complessità del modello. Ad esempio, Prophet, sviluppato da Meta, è una procedura di previsione delle serie temporali che si integra bene con dati che presentano forti componenti stagionali. Questi algoritmi sono utilizzati per previsioni meteorologiche, analisi economiche e monitoraggio della produzione industriale.
- Individuare le somiglianze. Gli algoritmi di clustering dividono i dati in gruppi basati sulla somiglianza tra punti dati. Questo metodo è utile quando si vuole scoprire la struttura sottostante in un dataset senza etichette predefinite. Esempi di algoritmi di clustering includono il K-Means e DBSCAN. Il clustering trova applicazione in segmentazione di mercato, analisi del comportamento dei clienti e identificazione di pattern nei dati medici.
> Leggi anche: “Introduzione alla cluster analysis”
Il machine learning continua a evolversi rapidamente, portando innovazioni significative in vari settori. Gli sviluppi futuri promettono di rendere gli algoritmi ancora più potenti e versatili, grazie ai progressi nella ricerca e alla crescente disponibilità di dati e risorse computazionali.
Man mano che il Machine Learning si diffonde in molteplici aspetti della società, è fondamentale affrontare le implicazioni etiche di questa tecnologia. È necessario sviluppare framework normativi e linee guida per garantire l’equità, la trasparenza e la responsabilità dell’utilizzo e dello sviluppo dei sistemi di intelligenza artificiale. La presenza di bias nei dati di addestramento, la spiegabilità dei modelli e l’impatto sull’occupazione richiedono un’attenta valutazione.
Solo attraverso un approccio bilanciato, che valorizzi sia l’innovazione tecnologica sia l’integrità etica, sarà possibile realizzare appieno il potenziale tecnologico del machine learning.
Fonti:
Amini, M., Abbasi-Sarthashvali, F., Goudarzi, N., Hosseinzadeh Lotfi, F., & Nazari, A. (2022). Machine learning and deep learning: A review of methods and applications. *Archives of Computational Methods in Engineering*, 1-33. https://doi.org/10.1007/s11831-022-09748-6
Mahesh, B. (2020). Machine learning algorithms – A review. *International Journal of Science and Research (IJSR)*, *9*(1), 1348-1354. https://doi.org/10.21275/ART20203995
Sanga, S. K., Choudhury, R. P., & Nandi, S. (2022). Machine learning: Key concepts and applications. In S. K. Sanga, C. Suman, & M. Balamurugan (Eds.), *Smart Computing Paradigms: New Progresses and Challenges* (pp. 177-198). CRC Press. https://doi.org/10.1201/9781003219453-11
SparkFun. (2023, January 26). What is machine learning? SparkFun News. https://www.sparkfun.com/news/7896
MIT Sloan School of Management. (2021, April 26). Machine learning explained. MIT Sloan School of Management. https://mitsloan.mit.edu/ideas-made-to-matter/machine-learning-explained
GeeksforGeeks. (n.d.). ML | Semi-supervised learning. GeeksforGeeks. https://www.geeksforgeeks.org/ml-semi-supervised-learning/