L'apprendimento automatico (in inglese machine learning, 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 la performance 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[1][2]. 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[3].
Arthur Samuel, che coniò il termine nel 1959[4], 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 computazionale dell'apprendimento[5] ed esplora lo studio e la costruzione di algoritmi che possano apprendere da un insieme di dati e fare delle predizioni su questi,[6] 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,[7] il riconoscimento ottico dei caratteri[8], 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.