Lapprendimento automatico (, abbreviato in ML) è una branca dell'intelligenza artificiale che raccoglie metodi sviluppati negli ultimi decenni del XX secolo in varie comunità scientifiche, sotto diversi nomi quali statistica computazionale, riconoscimento di pattern, reti neurali artificiali, filtraggio adattivo, teoria dei sistemi dinamici, elaborazione delle immagini, data mining, algoritmi adattivi, ecc., che utilizza metodi statistici per migliorare le prestazioni di un algoritmo nell'identificare pattern nei dati. Nell'ambito dell'informatica, l'apprendimento automatico è una variante alla programmazione tradizionale nella quale in una macchina si predispone l'abilità di apprendere qualcosa dai dati in maniera autonoma, senza istruzioni esplicite. Gli algoritmi di apprendimento automatico sono utilizzati in un'ampia varietà di branche del sapere, come la medicina, il filtraggio delle e-mail, il riconoscimento vocale e la visione artificiale, dove è difficile o non fattibile sviluppare algoritmi convenzionali per eseguire i compiti richiesti.

Arthur Samuel, che coniò il termine nel 1959, in linea di principio identifica due approcci distinti. Il primo metodo, indicato come rete neurale, sviluppa macchine ad apprendimento automatico per impiego generale il cui comportamento è appreso da una rete di commutazione connessa casualmente, a seguito di una routine di apprendimento basata su ricompensa e punizione (apprendimento per rinforzo). Il secondo metodo, più specifico, consiste nel riprodurre l'equivalente di una rete altamente organizzata progettata per imparare solo attività specifiche. La seconda procedura, che necessita di supervisione e richiede la riprogrammazione per ogni nuova applicazione, è molto più efficiente dal punto di vista computazionale.

L'apprendimento automatico è strettamente legato al riconoscimento di pattern e alla teoria dell'apprendimento computazionale ed esplora lo studio e la costruzione di algoritmi che possano apprendere da un insieme di dati e fare delle predizioni su questi,Ron Kohavi; Foster Provost (1998). "Glossary of terms". Machine Learning. 30: 271–27 costruendo in modo induttivo un modello basato su dei campioni. L'apprendimento automatico viene impiegato in quei campi dell'informatica nei quali progettare e programmare algoritmi espliciti è impraticabile; tra le possibili applicazioni citiamo il filtraggio delle email per evitare spam, l'individuazione di intrusioni in una rete o di intrusi che cercano di violare dati, il riconoscimento ottico dei caratteriWernick, Yang, Brankov, Yourganov and Strother, Machine Learning in Medical Imaging, IEEE Signal Processing Magazine, vol. 27, no. 4, July 2010, pp. 25-38, i motori di ricerca e la visione artificiale.

L'apprendimento automatico è collegato, e spesso si sovrappone, alla statistica computazionale, che si occupa dell'elaborazione di predizioni tramite l'uso di computer. L'apprendimento automatico è anche fortemente legato all'ottimizzazione matematica, che fornisce metodi, teorie e domini di applicazione a questo campo. Per usi commerciali, è conosciuto come analisi predittiva.

Storia L'apprendimento automatico si sviluppa con lo studio dell'intelligenza artificiale, e vi è strettamente collegato: infatti già dai primi tentativi di definire l'intelligenza artificiale come disciplina accademica, alcuni ricercatori si erano mostrati interessati alla possibilità che le macchine imparassero dai dati. Questi ricercatori, in particolare Marvin Minsky, Arthur Samuel e Frank Rosenblatt, provarono ad avvicinarsi al problema sia attraverso vari metodi formali, sia con quelle che vengono definite reti neurali nei tardi anni '50. Le reti neurali erano allora costituite da singoli percettroni e da modelli matematici derivati dal modello lineare generalizzato della statistica, come l'ADALINE di Widrow. Si provò a sfruttare anche ragionamenti probabilistici, in particolare nelle diagnosi mediche automaticheRussell, Stuart; Norvig, Peter (2003) . Artificial Intelligence: A Modern Approach (2nd ed.). Prentice Hall. ISBN 978-0-13-790395-5.

Sempre negli anni '50, Alan Turing propose l'idea di una macchina che apprende, ovvero in grado di imparare e dunque diventare intelligente. La proposta specifica di Turing anticipa gli algoritmi genetici.

Tuttavia già dalla metà degli anni '50 lo studio dell'intelligenza artificiale si stava concentrando su approcci logici di tipo knowledge-based, nota oggi sotto il nome di GOFAI, causando un distacco tra lo studio dell'IA e quello dell'apprendimento automatico. Sistemi di tipo probabilistico erano invasi di problemi sia teoretici sia pratici in termini di acquisizione e rappresentazione dei dati. Negli anni Ottanta, i sistemi esperti dominavano il campo dell'IA, e i sistemi basati sulla statistica non venivano più studiati. Lo studio dell'apprendimento simbolico e knowledge-based continuò nell'ambito dell'IA, portando a sviluppare la programmazione logica induttiva, ma ora la ricerca più prettamente statistica si svolgeva al di fuori del campo vero e proprio dell'intelligenza artificiale, nel riconoscimento di pattern e nell'information retrieval. Un altro motivo per cui lo studio dell'apprendimento automatico fu abbandonato fu la pubblicazione del libro Perceptrons: an introduction to computational geometry di Marvin Minsky e Seymour Papert, che vi descrivevano alcune delle limitazioni dei percettroni e delle reti neurali. La ricerca sulle reti neurali subì un significativo rallentamento a causa dell'interpretazione del libro, che le descriveva come intrinsecamente limitate. Anche la linea di ricerca sulle reti neurali continuò al di fuori del campo dell'IA, portata avanti da ricercatori provenienti da altre discipline quali Hopfield, Rumelhart, Hinton e Fukushima. Il loro successo principale fu a metà degli anni '80 con la riscoperta della backpropagation e della self-organization.

L'apprendimento automatico, sviluppatosi come campo di studi separato dall'IA classica, cominciò a rifiorire negli anni '90. Il suo obiettivo cambiò dall'ottenere l'intelligenza artificiale ad affrontare problemi risolvibili di natura pratica. Distolse inoltre la propria attenzione dagli approcci simbolici che aveva ereditato dall'IA, e si diresse verso metodi e modelli presi in prestito dalla statistica e dalla teoria della probabilità. L'apprendimento automatico ha inoltre beneficiato dalla nascita di Internet, che ha reso l'informazione digitale più facilmente reperibile e distribuibile.

Un teorema pubblicato nell'agosto 2022 ha dimostrato che, nel caso di un computer quantistico, per una vasta classe di problemi è errata l'ipotesi secondo cui la dimensione del campione di dati che deve essere processato dalla macchina ad apprendimento automatico sia descritta da uno spazio di Hilbert che cresce esponenzialmente col numero di qubit addestrati. Ad esempio, per vari anni si è ipotizzato che per addestrare 30 qubit fosse necessario un miliardo di punti-dato. La quantità di dati che è necessario elaborare è significativamente inferiore e rende possibile eseguire la compilazione e l'addestramento del modello ad apprendimento automatico direttamente su un computer classico.

Generalità Tom M. Mitchell ha fornito la definizione più citata di apprendimento automatico nel suo libro di testo "Machine Learning": "Si dice che un programma apprende dall'esperienza E con riferimento a alcune classi di compiti T e con misurazione della performance P, se le sue performance nel compito T, come misurato da P, migliorano con l'esperienza E."Mitchell, T. (1997). Machine Learning. McGraw Hill. p. 2. ISBN 0-07-042807-7. In poche parole, si potrebbe semplificare dicendo che un programma apprende se c'è un miglioramento delle prestazioni dopo un compito svolto. Questa definizione di Mitchell è rilevante poiché fornisce una definizione operativa dell'apprendimento automatico, invece che in termini cognitivi. Fornendo questa definizione, Mitchell di fatto segue la proposta che Alan Turing fece nel suo articolo "Computing Machinery and Intelligence", sostituendo la domanda "Le macchine possono pensare?" con la domanda "Le macchine possono fare quello che noi (in quanto entità pensanti) possiamo fare?"Harnad, Stevan (2008), "The Annotation Game: On Turing (1950) on Computing, Machinery, and Intelligence", in Epstein, Robert; Peters, Grace, The Turing Test Sourcebook: Philosophical and Methodological Issues in the Quest for the Thinking Computer, Kluwer.

Teoria dell'apprendimento L'obiettivo principe dell'apprendimento automatico è che una macchina sia in grado di generalizzare dalla propria esperienzaBishop, C. M. (2006), Pattern Recognition and Machine Learning, Springer, ISBN 0-387-31073-8, ossia che sia in grado di svolgere ragionamenti induttivi. In questo contesto, per generalizzazione si intende l'abilità di una macchina di portare a termine in maniera accurata esempi o compiti nuovi, che non ha mai affrontato, dopo aver fatto esperienza su un insieme di dati di apprendimento. Gli esempi di addestramento (in inglese chiamati training examples) si assume provengano da una qualche distribuzione di probabilità, generalmente sconosciuta e considerata rappresentativa dello spazio delle occorrenze del fenomeno da apprendere; la macchina ha il compito di costruire un modello probabilistico generale dello spazio delle occorrenze, in maniera tale da essere in grado di produrre previsioni sufficientemente accurate quando sottoposta a nuove ipotesi.

L'analisi computazionale degli algoritmi di apprendimento automatico e delle loro prestazioni è una branca dell'Informatica teorica chiamata teoria dell'apprendimento. Dato che gli esempi di addestramento sono insiemi finiti di dati e non c'è modo di sapere l'evoluzione futura di un modello, la teoria dell'apprendimento non offre alcuna garanzia sulle prestazioni degli algoritmi. D'altro canto, è piuttosto comune che tali prestazioni siano vincolate da limiti probabilistici. Il compromesso bias-varianza è uno dei modi per quantificare l'errore di generalizzazione.

Affinché la generalizzazione offra le migliori prestazioni possibili, la complessità dell'ipotesi induttiva deve essere pari alla complessità della funzione sottostante i dati. Se l'ipotesi è meno complessa della funzione, allora il modello manifesta underfitting. Quando la complessità del modello viene aumentata in risposta, allora l'errore di apprendimento diminuisce. Al contrario invece se l'ipotesi è troppo complessa, allora il modello manifesta overfitting e la generalizzazione sarà più scarsaEthem Alpaydin. "" The MIT Press, 2010.

Oltre ai limiti di prestazioni, i teorici dell'apprendimento studiano la complessità temporale e la fattibilità dell'apprendimento stesso. Una computazione è considerata fattibile se può essere svolta in tempo polinomiale.

Tipi di problemi e compiti I compiti dell'apprendimento automatico vengono tipicamente classificati in tre ampie categorie, a seconda della natura del "segnale" utilizzato per l'apprendimento o del "feedback" disponibile al sistema di apprendimento. Queste categorie, anche dette paradigmi, sono: apprendimento supervisionato, in cui al modello vengono forniti degli esempi nella forma di possibili input e i rispettivi output desiderati e l'obiettivo è quello di estrarre una regola generale che associ l'input all'output corretto; apprendimento non supervisionato, in cui il modello ha lo scopo di trovare una struttura negli input forniti, senza che questi vengano etichettati in alcun modo; apprendimento per rinforzo, in cui il modello interagisce con un ambiente dinamico nel quale cerca di raggiungere un obiettivo (per esempio guidare un veicolo), avendo un insegnante che gli dice solo se ha raggiunto l'obiettivo. Un altro esempio è quello di imparare a giocare un gioco giocando contro un avversarioMachine learning and pattern recognition "can be viewed as two facets of the same field.".