Il machine learning è una branca della scienza informatica che prende le mosse dagli studi sul pattern recognition e sulla teoria dell'apprendimento computazionale. Si tratta, dunque, di una disciplina strettamente affine all'intelligenza artificiale, con la quale condivide scopi e metodi di lavoro. Come per l'AI (Artificial Intelligence), anche gli scienziati impegnati nel campo dell'apprendimento automatico studiano algoritmi che permettano di rendere "intelligenti" macchine informatiche altrimenti incapaci di prendere decisioni autonome.
Che cos'è il machine learning
Nello specifico, il machine learning (o apprendimento automatico) è un metodo di analisi dei dati che punta ad automatizzare la creazione di modelli analitici. Grazie a speciali algoritmi che apprendono iterativamente partendo da una base dati fornita dall'uomo, il machine learning permette a computer e altri sistemi informatici di apprendere nuove nozioni e informazioni, prendere decisioni ed effettuare predizioni senza che siano stati precedentemente istruiti per farlo.
L'aspetto iterativo è fondamentale nella costruzione di un sistema machine learning correttamente funzionante. Una macchina settata per l'apprendimento automatico, infatti, deve essere in grado di adattarsi in maniera indipendente a nuovi set di dati in maniera tale da riuscirne sempre a ricavare informazioni utili a risolvere problemi sempre nuovi e differenti.
Tipologie di problemi e compiti
I task del machine learning sono tipicamente in tre macrocategorie, a seconda della natura della base dati utilizzata per l'apprendimento o del feedback disponibile per il sistema di apprendimento automatico.
- Apprendimento supervisionato. Un sistema informatico è istruito utilizzando una base dati costituita da esempi e modelli decodificati (gia' arricchiti da informazioni "di contorno" che aiutino il sistema di apprendimento a catalogare e classificare gli esempi). In questa maniera, gli algoritmi di machine learning potranno analizzare i dati in maniera più veloce e risolvere problemi o compiti in modo autonomo basandosi sulle esperienze precedenti. Un algoritmo di apprendimento supervisionato è in grado di produrre un'ipotesi induttiva, ovvero un modello di risoluzione per problemi generali partendo da una serie di problemi particolari. Può essere utilizzato nel settore medico (previsione dello scatenarsi di particolari crisi come pandemie e insorgenza di tumori in base a dati biometrici del passato), identificazione vocale (migliora il sistema in base agli ascolti audio passati) o l'identificazione della scrittura manuale (migliorata grazie all'analisi di centinaia di documenti scritti)
- Apprendimento senza supervisione. Nel sistema informatico vengono inseriti una serie di input ed esempi non classificati né decodificati. Questo compito spetta al sistema stesso, che li organizza in base ad aspetti e caratteristiche comuni per cercare di effettuare previsioni sugli input successivi. In questo caso le classi (o categorie) di dati non sono conosciute a priori, ma sono costituite in una fase successiva e apprese autonomamente dagli algoritmi machine learning. Tecniche di questo genere sono utilizzate dai motori di ricerca che, partendo da una o più parole chiave, creano liste di risultati (le SERP Search Engine Results Page) ritenute attinenti alla ricerca effettuata
- Apprendimento per rinforzo. È una tecnica di machine learning che si attua in sistemi capaci di apprendere dall'ambiente circostante (grazie a sensori di vario genere, quali sensori di contatto e prossimità, GPS, giroscopio, ecc) e adattarsi ai cambiamenti che avvengono all'interno del loro "ecosistema". Un esempio è dato dalle auto che si guidano da sole, capaci di "conoscere" l'ambiente circostante grazie ai loro sensori (presenza di altre auto nelle vicinanze, limiti di velocità, eventuali ostacoli sul cammino) e adattare il loro comportamento a seconda delle situazioni in cui si trovano
Le applicazioni del learning machine
L'apprendimento automatico, dunque,può essere utilizzato per gli scopi e nei settori più disparati. Quelli citati nel paragrafo precedente sono solo alcune delle possibili applicazioni del learning machine. Gli algoritmi "autoapprendenti" trovano impiego anche nel campo della pubblicità online, fornendo annunci pubblicitari ad hoc a seconda del profilo dell'internauta (la cosiddetta pubblicità tracciante). Un altro settore è quello della social intelligence, nella quale il learning machine è utilizzato nell'analisi del sentiment (opinione positiva, negativa o neutra su determinati argomenti) dei post e degli interventi sui social network.
Da non sottovalutare, inoltre, l'importanza dell'apprendimento automatico nella facial recognition, la tecnologia che permette a Facebook (solo per citare una delle tante aziende hi-tech che ne fa uso) di riconoscere visi e taggarli in automatico ogni volta che si posta una foto sul proprio profilo. I filtri antispam, infine, sono basati su potenti algoritmi di learning machine in grado di intercettare messaggi di posta elettronica fraudolenti ed eliminarli prima che l'utente possa aprirli.
Questione di affinità
L'apprendimento automatico ha affinità anche con diverse altre discipline informatiche e statistiche. Il machine learning, ad esempio, ha molti punti di contatto con il data mining, processo computazionale che utilizza algoritmi e metodi statistici per individuare modelli e conoscenze all'interno di grandi dataset (i big data in particolare).
Allo stesso tempo, ci sono relazioni piuttosto strette con la statistica computazionale e l'ottimizzazione matematica: la prima ha lo scopo di progettare algoritmi per implementare metodi statistici nella scienza informatica; la seconda realizza invece modelli statistici e matematici che possono essere utilizzati nell'ambito del riconoscimento dei modelli elaborati dalle intelligenze artificiali legati all'apprendimento automatico.